Step 7. Генератор синусоиды (pеализация на SCL).

По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.

plc4good.org.ua/view_post.php?id=36

sinus

При отладке отдельных блоков в 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 &gt,= 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 :=

0 0 голоса

Оцените статью!

guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии