技术论坛

跟我一起玩200smart PLC---模拟正弦波输出

作者 主题
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
主题:跟我一起玩200smart PLC---模拟正弦波输出
推荐帖 推荐帖


只看楼主 楼主 2017-01-02 16:38:15

跟我一起玩200smart PLC

模拟正弦波输出

   上次那个模拟正弦波输出的程序,实际上真正的输出确切地讲是三角波更贴切。我当时想做的本意是由于没有实际的硬件(示波器之类的器件)作输出检测的支持,无法显示输出波形,于是,想利用数字量输出模拟这个正弦波波形的。在实际调试过程中是把输出频率按一定的比例做适当缩放,并调用移位寄存器位指令(SHRB),利用数据最高位为符号位的特征,分别触发各自的移位寄存器位指令,但实际观察数字量输出总不是很直观地反映问题。

   今天,重新整理了一下思路,打算采用200 smart OPC软件连接到wincc flexible软件进行仿真演示正弦波过程,看能否可以实现。

编程思路:

1)  设置定时中断SMB34 = 10mS、开中断(实际仿真设置11mS比较接近正弦波)

2)  在主程序调用定时中断、并初始化相关地址的数据为0

3)  在定时中断中编辑正弦波控制程序

4)  启用200 smart opc软件连接并编辑相关的变量地址的连接

5)  启用wincc flexible 2008 sp2,编辑趋势图,连接正弦波数据的相关变量

6)  验证结果,看效果

程序:

定时中断程序:时间10mS


主程序调用:


定时中断子程序:


打开OPC软件,组态网卡接口,连接PLC,组态正弦波输出地址VD16,图示:


在wincc flexible 2008 sp2组态趋势视图,连接变量VD16,设置相应的趋势视图参数,启动运行系统,图示:


一个定时中断10mS的正弦波,相对接近的图示。

修改定时中断时间为1mS和15mS,在趋势视图的对比,图示:


波形相对比较密集的是1mS定时中断给出的波形,后半部波形相对规整一些的是定时中断时间15mS,根据触摸屏变量采样周期最小只能为100mS数据,设置定时中断时间数据11mS比较接近50HZ正弦波形,图示:11mS定时中断


在没有示波器前提下,利用OPC软件连接wincc flexible 2008 sp2模拟200 smart PLC编辑的正弦波控制程序,应该说还是比较接近模拟仿真的思路和效果的。



 
推荐帖推荐理由: 很详细,适合想学习的! (推荐人:qqzxx123)
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1356026&b_id=64&b_sid=0&s_id=0&num=11

奇侠

经验值: 8830
发帖数: 791
精华帖: 4
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 1楼 2017-01-02 16:47:48

好贴先收藏,再顶起来。

可惜手头没有smart200的PLC,不知可不可以用300的代替,然后用仿真软件仿真一下?可惜最近跟着厂家熟悉1500调试呢,有空的时候还是要动手试试。


good good study,day day up!!!!
以下网友喜欢您的帖子:

  
至圣

经验值: 69050
发帖数: 12265
精华帖: 59
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 2楼 2017-01-02 20:14:39

感谢分享

这个示波器的显示业余flexible的采样时间有关了~


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
至圣

经验值: 10630
发帖数: 2355
精华帖: 10
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 3楼 2017-01-02 20:23:59

分享的不错,十分详细,值得收藏!


学无止境
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 4楼 2017-01-03 08:27:03

如果1毫秒会怎样呢?好想知道1毫秒和10 毫秒扫描周期的区别。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 5楼 2017-01-03 08:41:17

图文并茂,感谢分享。


永无止境!
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 楼主 6楼 2017-01-03 08:42:42
以下是引用芳季在2017-01-03 08:27:03的发言 >4楼

如果1毫秒会怎样呢?好想知道1毫秒和10 毫秒扫描周期的区别。

倒数第二个图片就是中断时间1mS与中断时间15mS时,触摸屏显示的波形图示。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4521
发帖数: 554
精华帖: 4
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 7楼 2017-01-03 08:43:29

这个实验最好还是用硬件来实现,示波器最好了,软件仿真受限于采样时间,正玄波频率不能调得太高


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 楼主 8楼 2017-01-03 08:45:43
以下是引用kibu在2017-01-03 08:43:29的发言 >7楼

这个实验最好还是用硬件来实现,示波器最好了,软件仿真受限于采样时间,正玄波频率不能调得太高

 是的,最好、最形象用示波器之类的测试频率波形比较合理。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10630
发帖数: 2355
精华帖: 10
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 9楼 2017-01-03 08:51:49

虽然不常用,但是有机会试验一下,楼主分享的够详细。


学无止境
以下网友喜欢您的帖子:

  
奇侠

经验值: 7589
发帖数: 1989
精华帖: 0
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 10楼 2017-01-03 10:36:19
1毫秒定时中断有用吗,就是中断连着中断也忙不过来啊。
 
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 楼主 11楼 2017-01-03 10:47:16
以下是引用quiet在2017-01-03 10:36:19的发言 >:1毫秒定时中断有用吗,就是中断连着中断也忙不过来啊。

回众多网友问题:

关于1mS中断的显示正弦波形,图示:蓝色圈

原因:因为触摸屏趋势图采样周期最小是100mS,所以,波形畸变的必然的。

在没有硬件支持正弦波形,如示波器前提下,我仅仅是将触摸屏参数与plc中断定时器做了一些调整,尽可能的做到相对波形圆滑一些,但plc控制的程序是按这样的思路来实现的。




 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 12楼 2017-05-26 08:49:06


请教一下,这个0.0174是什么意思?


永无止境!
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 楼主 13楼 2017-05-26 09:00:34
以下是引用Mr S在2017-05-26 08:49:06的发言 >12楼


请教一下,这个0.0174是什么意思?

这个乘法指令的含义是:电角度*3.14/180,所以简化后变为VD4乘不断变化的电角度*0.0174,结果存放在VD8,旨在计算单位时间内的正弦值。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 14楼 2017-05-26 18:41:39
以下是引用WWCWWC在2017-05-26 09:00:34的发言 >

这个乘法指令的含义是:电角度*3.14/180,所以简化后变为VD4乘不断变化的电角度*0.0174,结果存放在VD8,旨在计算单位时间内的正弦值。

是利用公式绘制正弦波的原理吧。

看图更明确:




永无止境!
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 15楼 2017-05-26 23:20:13

要是我。我用高出产生合适的频率脉冲,让高计记录。产生到达中断,然后中断中输出一个表里面的其中一个值,间接寻址。表,使用那个正弦公式计算结果,填一个周期的表长。

这样的运算速度最快,波型完整性最好。极值点有数,过零点有数。不过一个扫描周期要输出较多的次数。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7589
发帖数: 1989
精华帖: 0
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 16楼 2017-06-02 11:17:27
模拟量输出是每次扫描周期输出一次,还是能在中断里实时更新输出
 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 17楼 2017-06-02 11:56:23

收到mov指令的时刻开始,后台开始转换,程序继续执行下面的指令。


 
以下网友喜欢您的帖子:

  
新手

经验值: 10
发帖数: 1
精华帖: 0
回复:跟我一起玩200smart PLC---模拟正弦波输出


只看楼主 18楼 2017-10-17 10:41:11
有道理额。
 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
跟我一起玩200smart PLC---模拟正弦波输出
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。