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



ссылка на сообщение  Отправлено: 20.02.16 13:17. Заголовок: время в simpl+


Подскажите, нужно следующее -
есть какой-то сигнал "1", если этот сигнал дольше, например, чем 5 секунд, то нужно сформировать другой сигнал. нет - оставить его нулем
есть ли такой элемент в симпле? или нужен симпл+?
если симпл+, подскажите какая нужна команда?
Спасибо

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





ссылка на сообщение  Отправлено: 20.02.16 13:39. Заголовок: Debounce Символ Debo..


Debounce
Символ Debounce управляет данным выходным сигналом к уровню его соответствующего ввода, если <время> истекает без последующего изменения в состоянии ввода.

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



ссылка на сообщение  Отправлено: 20.02.16 14:17. Заголовок: СергейК большое спа..


СергейК
большое спасибо!!
а возможно знаете - как можно единичным сигналом с выхода этого элемента перезагрузить программу? или сам крестрон если это вообще возможно не физически

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





ссылка на сообщение  Отправлено: 20.02.16 14:22. Заголовок: Для S+: DIGITAL_INPU..


Для S+:

DIGITAL_INPUT input_signal;

Integer Crestron_Connected;

TCP_CLIENT Crestron[5000];

Integer_Function connect()
{
return(SocketConnectClient (Crestron, "127.0.0.1", 41795, 0));
}


Function reboot_func(string data)
{
signed_integer iStatus,i;
if (Crestron_Connected=0){connect();}
i=0;
while(i<90)
{
if (Crestron_Connected=1)
{
iStatus = SocketSend(Crestron,data);
if (iStatus < 0)Print("Error Sending to Crestron: %d\n", iStatus);
if (iStatus=-5){connect();delay(200);}else {i=100;}
}else
{delay(20);i=i+1;}
}
}

CHANGE input_signal
{
CancelAllWait();
wait(500)
{
if (input_signal=1){reboot_func("reboot\x0D\x0A");}
}
}

SOCKETCONNECT Crestron
{ Crestron_Connected = 1;}

SOCKETDISCONNECT Crestron
{ Crestron_Connected = 0;}

Команду reboot\x0D\x0A можете и через Serial I/O посылать и TCP client, если конечно будете на "квадратиках" делать


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



ссылка на сообщение  Отправлено: 20.02.16 14:25. Заголовок: kislez2015 пишет: е..


kislez2015 пишет:

 цитата:
единичным сигналом с выхода этого элемента перезагрузить программу? или сам крестрон


Программу - Soft Reset
Crestron - Hard Reset

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



ссылка на сообщение  Отправлено: 20.02.16 14:45. Заголовок: Вячеслав СергейК сп..


Вячеслав СергейК
спасибо!

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



ссылка на сообщение  Отправлено: 20.02.16 14:48. Заголовок: Вячеслав а что дела..


Вячеслав
а что делает эта часть?

SOCKETCONNECT Crestron
{ Crestron_Connected = 1;}

SOCKETDISCONNECT Crestron
{ Crestron_Connected = 0;}

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





ссылка на сообщение  Отправлено: 20.02.16 14:55. Заголовок: Есть еще готовые куб..


Есть еще готовые кубики HARD RESET и SOFT RESET

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





ссылка на сообщение  Отправлено: 20.02.16 14:58. Заголовок: kislez2015 пишет: В..


kislez2015 пишет:

 цитата:
Вячеслав
а что делает эта часть?

SOCKETCONNECT Crestron
{ Crestron_Connected = 1;}

SOCKETDISCONNECT Crestron
{ Crestron_Connected = 0;}



Они устанавливают значение статуса подключения. Чтоб выполнять подключение к процессору по необходимости. Эта глобальная переменная используется в теле функции reboot_func

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



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


Вячеслав
но я тут проверил - для того, чтобы на выходе модуля по зажатию появлялась единица в симпле достаточно сделать это
PUSH press
{
wait(500)
{
if (press=1){time_reset=1;}
}
}

CancelAllWait(); здесь можно вообще не использовать, вроде

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



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


Вячеслав
или я в чем-то неправ?
почему-то после перезагрузки программы входной сигнал этого симпл+ остается единичным - и в том, и в том варианте

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





ссылка на сообщение  Отправлено: 24.02.16 17:10. Заголовок: 1.PUSH не подходит, ..


1.PUSH не подходит, потому что он неверно оценит ситуацию, когда пользователь нажал кнопку, подождал пару секунд и отпустил, потом прямо перед окончанием 5 с интервала опять нажал. Т.е. на момент истечения 5с входной сигнал будет =1. НО!!!! он не был равен 1 на всем протяжении 5с интервла.(что требовалось по условию задачи)
Кроме того без CancelAllWait(), вы порождаете клоны wait процесса каждый из которых закончится через 5с после начала и будет на тот момент совсем не актуальным для программы и внесет полный хаос.
2.В моем примере нет выходного сигнала, а используется вызов функции reboot_func которая перезагружает процессор. Но даже в вашем случае после перезагрузки выходной сигнал time_reset будет нулевым. Покажите весь блок вашего кода - посмотрим.
Можете использовать вместо time_reset=1; конструкцию push(1, time_reset);
Или в блоке инициализации в конце+ модуля написать ( предварительно разкомментировав блок Main убрав /* и */):
Function Main()
{
// TODO: Add code here
// Initialize declared global and local variables/arrays as needed.
time_reset=0;
// WaitForInitializationComplete();
// If you are reading any Input or Output variables, uncomment
// the WaitForInitializationComplete statement above and read
// them afterwards. Input/Output variables will not have
// their correct values set until after the logic processor
// runs and propagates the values to them.
}

Да и еще, совсем забыл есть просто замечательно подходящая вам функция press and hold v1.2 (см. раздел Crestron modules) Установите параметр hold time 5s и снимайте ваш сигнал с выхода held заведя его на кубик soft reset из раздела logic symbols

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



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


Вячеслав
меня смущает даже не выход, у меня почему-то после перезагрузки вход этого модуля press остается =1, тот сигнал что я зажимаю на 5 секунд

А поясните про клонов wait процесса без CancelAllWait(). у меня же по идее один wait процесс... Откуда клоны?
Спасибо

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





ссылка на сообщение  Отправлено: 24.02.16 17:26. Заголовок: 1. Покажите весь код..


1. Покажите весь код модуля. Я не пойму что там за press такой.
2.Тело Wait сработает только по истечении 5с Оно не устанавливает сигнал сразу. Т.е. все нажатия в течении 5с запускают параллельные отложенные Wait каждый из которых закончится в свое время.
Для этого я и использовал CancelAllWait() чтоб сбросить предыдущие неактуальные Wait и запустить таймер нового единственного Wait который через 5с проверит держите ли вы все еще кнопку нажатой.
3.см. press and hold выше

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



ссылка на сообщение  Отправлено: 24.02.16 17:28. Заголовок: DIGITAL_INPUT press;..


DIGITAL_INPUT press;
DIGITAL_OUTPUT time_reset;

CHANGE press
{
CancelAllWait();
wait(500)
{
if (press=1){pulse(10, time_reset);}
}
}

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





ссылка на сообщение  Отправлено: 24.02.16 17:34. Заголовок: Тут все правильно. С..


Тут все правильно.
Смотрите откуда приходит сигнал на вход press (по F2). Если только с xpanel или ниоткуда, то не должен он быть =1 пока не нажмете.
В дебагере смотрите его?

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



ссылка на сообщение  Отправлено: 24.02.16 17:36. Заголовок: ну там ситуация така..


ну там ситуация такая, он равен нулю это понятно
я его зажимаю на 5 секунд, программа перезагружается, а он остается нажатым постоянно почему-то. если его нажать и отпустить он снова становится нулем
это смущает)

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





ссылка на сообщение  Отправлено: 24.02.16 17:49. Заголовок: Может дебагер не рес..


Может дебагер не рестартуется при soft reset. Рестартуйте дебагер вручную опять выбрав процессор из адресной книги. Врет наверное просто.

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

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