登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:【话题】怎么让plc输出正弦波使用st语言编写?(20220812)

点击:746 回复:5

怎么让plc输出正弦波使用st语言编写
最后修改:2022/8/15 9:58:41
22-08-11 21:35
周期多少??
22-08-12 09:24

引用 outliers 在 2022/8/12 9:24:24 发言【内容省略】

周期,幅值,频率这些都是随便的,假设幅值为1,频率为10的话呢
22-08-12 12:40
可以出正弦波?
22-08-13 09:27
sample:=(sample+1) mod 100;
sinewave:=sin(sample*3.14159265/5);
这是10ms取样10次,就是1/100的正弦波.10ms定时周期程序,经常引起wd100ms错误.
附件 ms10.jpg
IF t100ms.DN THEN
rsimu1[0]:=rsimu1[0]+1;
if rsimu1[0]>100 then
rsimu1[0]:=0;
end_if;
rsimu1[1]:=rsimu1[0]/100;
rsimu1[2]:=SIN(rsimu1[1]*3.14159265);
END_IF;
用来仿真斜坡,顺便半波正弦. 100ms定时, 100取样.
附件 ms100.jpg
--------------------------------------------
要出正弦波, 一般两种方式: ao取样, pwm. 以上以ao为例.
输出是离散的, 根据取样定理, 至少需要2倍频率才能得到所需波形. 对离散还需要进行滤波整形处理.
22-08-14 15:34
谢谢大佬,学会了
22-08-15 09:38

工控新闻

更多新闻资讯