|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
26.09.2012, 11:17 | #1 |
Senior Member
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Присваивание выхода по событию
Есть задача менять значение одной переменной INT по фронту нескольих сигналов: положительный фронт сигнала 1 - присвоить значение 1, отрицательный фронт сиганала 1 - присвоить 2, положительный фронт сигнала 2 - присвоить 3, отрицательный фронт сигнала 2 - присвоить 4 и т.д.
Вот если бы был механизм выключения обработки блоков - то задачу можно было бы рештить элементарно... в текущем варианте - я уже 3 час голову ломаю как это реализовать... Может кто пнет меня в нужном направлении? Последний раз редактировалось Arsie, 26.09.2012 в 16:43 |
26.09.2012, 11:32 | #2 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: BUG:SMArt в комплекте с SMLogx3.24.245
Цитата:
Цитата:
Конструкция проста: one_raise=0; one_fall=0; if (one>old_one) {one_raise=1;} if (one<old_one) {one_fall=1;} two_raise=0; two_fall=0; if (two>old_two) {two_raise=1;} if (two<old_two) {two_fall=1;} if (one_raise) {tmp1=1;} else {tmp2=0; tmp3=0; tmp4=0;} if (one_fall) {tmp2=2;} else {tmp1=0; tmp3=0; tmp4=0;} if (two_raise) {tmp3=3;} else {tmp1=0; tmp2=0; tmp4=0;} if (two_fall) {tmp4=4;} else {tmp1=0; tmp2=0; tmp3=0;} old_one=one; old_two=two; int=tmp1+tmp2+tmp3+tmp4; __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 26.09.2012 в 11:45 |
||
26.09.2012, 12:53 | #3 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: BUG:SMArt в комплекте с SMLogx3.24.245
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 26.09.2012 в 16:44 |
|
28.09.2012, 07:57 | #4 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Присваивание выхода по событию
По Switch технологии без учета предыдущего состояния и задержек при переходе из состояния в состояние
__________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
28.09.2012, 10:46 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Присваивание выхода по событию
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|