Просмотр полной версии : d-trigger
Columbariy
28.12.2010, 11:50
В какой библиотеке искать D-trigger?
спасибо
Александр Приходько
28.12.2010, 12:21
Как такового нет, но можете написать свой на базе R_TRIG и F_TRIG
Насколько я знаю библиотеки триггеров в чистом виде нет, даже r_trig и f_trig это не триггеры в привычном понимании этого слова, а детекторы фронта, соответственно переднего и заднего.
как его собрать с помощью детекторов фронтов не представляю.
Простейший вариант на основе логики в приложении.
А для каких целей он требуется? Возможно существует альтернативное решение вашей задачи.
Александр Приходько
29.12.2010, 12:23
как его собрать с помощью детекторов фронтов не представляю.
Простейший вариант на основе логики в приложении.
На сколько я понимаю данный тригер по фронту синхросигнала фиксирует данные на выходе. При прохождении нового фронта синхросигнала данные на выходе обновятся.
Делается это элементарно.
Columbariy
03.02.2011, 10:11
FUNCTION_BLOCK D_Trigger
VAR_INPUT
_S,_D,_C,_R:BOOL;
END_VAR
VAR_OUTPUT
Q,NOT_Q:BOOL;
END_VAR
VAR
C_old:BOOL;
END_VAR
IF _S=TRUE THEN
Q:=TRUE;
ELSIF _R=TRUE THEN
Q:=FALSE;
ELSIF C_old=FALSE AND _C=TRUE THEN
C_old:=_C;
Q:=_D;
ELSIF C_old=TRUE AND _C=FALSE THEN
C_old:=_C;
END_IF
NOT_Q:=NOT(Q);
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot