如何输出正弦波

分享到:
319
下一篇 >

菜鸟:

我在坛子里找到有人问怎么输出正弦波了。下面也有大神回复了,但是具体咋整还是不明白。PLC自带正弦函数y=sinx,正弦波是y=Asin(wt)=Asin(2*pai*f*t),f*t在0-1之间变化。比如我要输出10hz,1V的正弦波,也就是1个正弦波输出需要100ms的时间,我以1ms为定时间隔,取100个点输出一个正弦波。这样可行吗? 而且π怎么输进plc里面去呢?


大虾:

pai就是一个常数呀!3.141592653589793238462643382795输入这样一个常数精度够不?

要输出1v的正弦波需要看你组态输出的信号范围是多少,假如你选择的正负10v那么A应该是3200(满量程是32000)


至圣:

受到正弦波频率的限制。


10HZ的话周期100毫秒,取100个点,就得每一毫秒刷新一次输出,采用中断程序进行刷新的话中断频率是很高的,建议适当减少点数,外加滤波电路使得输出波形光滑连续。另外为减少中断程序执行时间,可以把正弦的前1/4个周期的数值预先算出来存入表中,中断程序查表循环输出即可。


菜鸟:我今天下午加晚上终于编出输出不同的角度,sin值不同,电压设置-10V—10V,那么实际对应的电压=分辨率+sin值*1/2分辨率,但是这是我人为调角度的。我设置成角度0-360度,分成100份,每1ms增加3.6度,同时改变sin值。但是这个定时程序又把我卡住了。您说的方法给了我新思路,能具体向您请教吗?我知道单片机可以通过查表法,但是plc的表怎么存呢?


嗯嗯,所以定了10hz


要输出1v的正弦波需要看你组态输出的信号范围是多少,假如你选择的正负10v那么A应该是3200(满量程是32000)嗯嗯 我按角度弄出正弦值了,但是在考虑怎么定时去输出。


至圣:

200有定时中断功能,在中断程序中按顺序读一个特定的V区,在该V区中你事先用数据块把数据值写入下载,此后程序不再使用该区即可。



你可能感兴趣: 工控菜鸟园 自动化系统 SIMATIC S7-200 Asi
无觅相关文章插件,快速提升流量