菜鸟:
我在坛子里找到有人问怎么输出正弦波了。下面也有大神回复了,但是具体咋整还是不明白。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个周期的数值预先算出来存入表中,中断程序查表循环输出即可。
要输出1v的正弦波需要看你组态输出的信号范围是多少,假如你选择的正负10v那么A应该是3200(满量程是32000)嗯嗯 我按角度弄出正弦值了,但是在考虑怎么定时去输出。
至圣:
200有定时中断功能,在中断程序中按顺序读一个特定的V区,在该V区中你事先用数据块把数据值写入下载,此后程序不再使用该区即可。