On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



ссылка на сообщение  Отправлено: 24.02.16 16:59. Заголовок: Часы в simpl+


Здравствуйте, скажите, а возможно ли на simpl+ сделать что-то связанное со временем? например, каждый день в 12-00 на таком то выходе появляется импульс?
И похожий, но не совсем такой вариант - возможно ли как-то сделать, чтобы на выходе симпл+ модуля появлялся импульс каждые, например, 100 секунд?
Спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 12 [только новые]







ссылка на сообщение  Отправлено: 24.02.16 17:45. Заголовок: 1.Стандартный when н..


1.Стандартный when не катит с time=12.00.00.00s ?
2.А что стандартный oscillator не катит с hi_time=0.1s и lo_time=99.9s?

+79161734005 Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 24.02.16 17:51. Заголовок: Вячеслав ну я для к..


Вячеслав
ну я для кругозора в целом интересуюсь, никогда не помешает узнать новые команды - вдруг пригодятся для чего-то позамысловатей)

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 24.02.16 18:05. Заголовок: При всей моей любви ..


При всей моей любви к simpl+ тут действительно нужен повод чтоб не воспользоваться сначала стандартным набором.
Есть функция time() возвращающая время в строковом 24-часовом формате типа "14:25:32".
Но чтоб на+ написать обработчик события для 12:00:00 потребуется десяток строк кода. Да и правильнее будет использовать для такого модуля внешний oscillator чем организовывать внутренний цикл с проверкой каждые 0.5s и разпарсивая функцией mid() значения функции time()

+79161734005 Спасибо: 1 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 24.02.16 18:17. Заголовок: Вариант (для 12-00):..


Вариант (для 12-00):

DIGITAL_INPUT START;
DIGITAL_OUTPUT OUT;

Function function_when()
{
if((mid(time(),1,2)="12")&&(mid(time(),4,2)="00")&&(mid(time(),7,2)="00"))
{
pulse(1,out);
}
wait(50){function_when();}
}

PUSH START
{
function_when();
}

На вход START можно поставить 1 как константу.

+79161734005 Спасибо: 1 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 25.02.16 10:52. Заголовок: Вячеслав спасибо, ща..


Вячеслав спасибо, щас проверим в деле

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 25.02.16 11:27. Заголовок: Вячеслав не знаю по..


Вячеслав
не знаю почему, но есть такая ситуация
у меня подряд идут Clock Driver - When и Soft Reset. Ставлю время на When, Clock Driver без параметра и пульс длиной 1с или 1 тик.
Но почему-то когда наступает время он перезапускает программу раз 7-8. Там местами пульс на софт ресет проскакивает. Но от его длительности это не зависит. Что это может быть??

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 25.02.16 13:32. Заголовок: kislez2015 пишет: В..


kislez2015 пишет:

 цитата:
Вячеслав
не знаю почему, но есть такая ситуация
у меня подряд идут Clock Driver - When и Soft Reset. Ставлю время на When, Clock Driver без параметра и пульс длиной 1с или 1 тик.
Но почему-то когда наступает время он перезапускает программу раз 7-8. Там местами пульс на софт ресет проскакивает. Но от его длительности это не зависит. Что это может быть??


возможно, это конечно связано с тем, что у Крестрона время обновляется редко
но в тулбоксе, где процессору задается время, оно менялось каждые 5 секунд, а перезагружается он где-то в течение 12 секунд эти 7-8 раз

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 25.02.16 18:37. Заголовок: Быстро однако он у в..


Быстро однако он у вас перезагружается. 7-8 раз за 12 сек
Вы время в модуле When поставили с сотыми долями или только с точностью до секунды?
На крайний случай добавьте еще One Shot 1s после When

+79161734005 Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.02.16 08:15. Заголовок: Вячеслав время поста..


Вячеслав время поставил с точностью до сотых
нет, перезагружается не крестрон, а программа- это soft reset
если до софт ресета поставить delay 10 секунд, он ее перезапускает 2 раза. Если 11 секунд, то уже раз

может он время обновлять раз в 11 секунд?

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 26.02.16 09:59. Заголовок: Видимо есть какой то..


Видимо есть какой то нюанс. Но главное костыль найден.

+79161734005 Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.02.16 10:55. Заголовок: Вячеслав пишет: Вид..


Вячеслав пишет:

 цитата:
Видимо есть какой то нюанс. Но главное костыль найден.


ну да, либо delay, либо one shot

а можно еще вопрос? зачем тут в функции ссылка на эту же функцию? и если это не опечатка, то как это работает - будешь задержка вывода функции из модуля, или как?
Вячеслав пишет:

 цитата:
Function function_when()
{
if((mid(time(),1,2)="12")&&(mid(time(),4,2)="00")&&(mid(time(),7,2)="00"))
{
pulse(1,out);
}
wait(50){function_when();}
}



Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 27.02.16 14:45. Заголовок: Это называется РЕКУР..


Это называется РЕКУРСИЯ (вызов функцией самой себя)
Каждые 0.5s функция сравнивает текущее время с заданным (12.00.00), если время совпало генерируется импульс по выходу out, потом взывает сама себя через следующие 0.5s чтобы выполнить сравнение опять.
По сути это бесконечный цикл.

+79161734005 Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 54
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет