Styxx
Forum Member / Участник форума
Участник № / Member № 74
отправлено / posted
Каким образом создать следующий елемент:
Два входа 1й - 1 или 0 управляет пересылкой значений с 2го(вход) на 3й (выход) при 0 - запомнить последнее значение на выходе и удерживать его на момент поступления нуля не смотря на то что на 1м входе.
2й - даные с этого канала пересылаются на выход при наличии "1" на 1ом.
3й - выход один - результат 1го и 2го...
При этом использовать каналы для времменых работ нельзя
отправлено / posted
Данная задача довольно легко реализуется на языке TechnoIL. Уточните пожалуйста фразу("При этом использовать каналы для времменых работ нельзя").
IP / IP: IP адрес / IP address |
отправлено / posted
Также данная задача может быть решена с помощью одной FBD-программы и одного канала (канал может быть даже уже существующим - можно использовать его границы).
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
_SaM_
Forum Member / Участник форума
Участник № / Member № 122
отправлено / posted
Можно написать вот такой вот простенький блочок: #DEFINE I0 KEY #DEFINE I1 VALUE #DEFINE I2 TIN #DEFINE Q0 OUT
IF KEY == 1 THEN OUT = VALUE ELSE OUT = TIN TOUT = TIN END_IF Выход замыкаем на третий вход и всё: при 1 на входе KEY вход VALUE копируется на выход, при 0 на входе KEY выход замораживается. В принципе, здесь можно было бы использовать переменную типа E, но вроде эти переменные не поддерживаются в МикроМРВ
Сообщения / Posts 40 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В последнем предложении задача практически решена. Надо только слегка подкорректировать:
#DEFINE I0 KEY #DEFINE I1 VALUE #DEFINE Q0 OUT
IF KEY == 1 THEN OUT = VALUE END_IF
Ту же задачу легко решает FB MOVE. Если на его вход RUN подать инвертированное значение переменной KEY, на первый вход - переменную VALUE, то с первого выхода можно получить "замораживаемое" значение.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |