По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.
plc4good.org.ua/view_post.php?id=36
При отладке отдельных блоков в Step7 иногда возникает необходимость подать на вход переменный сигнал, данный блок, реализованный на SCL позволяет задать амплитуду и период этого сигнала.
Функциональный блок вызывается в ОВ35 (или другом организационном блоке циклических прерываний), в качестве входных параметров задаётся период, амплитуда и время выполнения dT.
VAR_INPUT
Amplitude : REAL:=1.0 ,//Входной:амплитуда выходного сигнала
Period : REAL:=1.0 ,//Входной:период выходного сигнала
d_T : REAL:=0.1 ,//Входной:время выполнения
END_VAR
VAR
X : REAL:=0.0 ,//Ст.Перем.:значение аргумента функции
END_VAR
VAR_OUTPUT
Out : REAL ,//Выходной:выходной сигнал
END_VAR
BEGIN
(*
Наращивание аргумента функции SIN Х.
*)
IF X >,= Period THEN X:= 0.0,
ELSE X:= X+d_T,
END_IF,
(*
Реализация выходного сигнала в виде синусоиды (ф-ла y=A*sin(wt), где w=(2П/Т), с задаваемыми амплитудой и периодом.
*)
Out:= Amplitude*SIN(6.28/Period*X),
END_FUNCTION_BLOCK
Пример вызова блока:
CALL ‘SINUS’ , ‘IDB_SINUS’
Amplitude:=2.000000e+000
Period :=4.000000e+000
d_T :=1.000000e-001
Out :=
Оцените статью!