技术论坛

跟我一起玩200smart PLC

作者 主题
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
主题:跟我一起玩200smart PLC
推荐帖


只看楼主 楼主 2016-12-27 11:27:53

跟我一起玩200smart PLC

   200 smart PLC自2012年7月30日推出市场以来,受到用户的关注度与日俱增,在小型机范畴应用中其卓越的性价比和不断推出的新功能直面用户、方便用户。

   今天来做模拟正弦波输出的程序,了解及应用定时中断的使用。200smart PLC硬件固化有2个定时中断,其中,分别是定时中断0(SMB34)中断事件号10和中断1(SMB35)中断事件号11,定时中断时间设置范围1~255mS,在众多中断中优先级是最低的,一个中断事件号允许连接多个中断子程序。

编程思路:

定义一个定时中断(SMB34),中断时间设置为10mS,连接一个中断事件对应的中断子程序并开启中断。主程序用沿触发调用或者采用SM0.1标志位初始化调用,在定时中断中编辑数值累加,由起始的0逐渐累加到27648,模拟量输出最大值,当到达最大值后逐渐下降到0;然后继续由0逐渐下降到-27648,模拟量输出最小值,继续回升到0的过程。其中,递增或者递减按一个中断数值增、减27.648,完成一个正弦波需要的时间大概为40秒。注:如果按工频50HZ计算,一个完整的正弦波所需的时间为20mS。

程序:

初始化定时中断:



主程序调用中断:



定时中断子程序:



程序解释:

   主程序调用定时中断后,中断子程序按每10mS调用一次中断连续循环。进入定时中断时,首先执行网络段2的程序,VD0由0值开始按每10mS递增27.648一个数值。当VD0值上升大于27648时(相当于中断执行1000次,10秒)置位M0.0。断开网络段2的程序,执行网络段3的程序,VD0由27648按每10mS递减,一直递减到-27648止,复位M0.0(相当于执行中断2000次,20秒)程序返回到网络段2,一直将数值上升到置位条件满足止,完成整个模拟正弦波过程用时40秒,这样连续循环。

   中断程序一般使用在要求一个相对稳定的时间常数下相关数据采集;计数等。如模拟量平均值计算、判断A/B相编码器的旋转方向、流量的积算、PID控制等应用十分广泛。



 
推荐帖推荐理由: WWC侠 有思路 有图有解释 好帖! (推荐人:菲戈)
以下网友喜欢您的帖子:

  
重要声明:

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

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

至圣

经验值: 14869
发帖数: 1013
精华帖: 1
回复:跟我一起玩200smart PLC


只看楼主 1楼 2016-12-27 14:56:55

虽然现在用不到,但是学习了,明白一些编程技巧啊


自己不努力,一切全白费
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 2楼 2016-12-27 15:12:23
以下是引用无知的人啊在2016-12-27 14:56:55的发言 >

虽然现在用不到,但是学习了,明白一些编程技巧啊

编程思路很重要,但是这个真的是靠千锤百炼炼出来的,来不得半点侥幸。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 28623
发帖数: 5906
精华帖: 61
回复:跟我一起玩200smart PLC


只看楼主 3楼 2016-12-27 15:44:41
以下是引用WWCWWC在2016-12-27 15:12:23的发言 >2楼

编程思路很重要,但是这个真的是靠千锤百炼炼出来的,来不得半点侥幸。

以下是引用无知的人啊在2016-12-27 14:56:55的发言 >:虽然现在用不到,但...

引用详细内容:

虽然现在用不到,但是学习了,明白一些编程技巧啊

同意这个生产工艺是一样一样的


欢迎交流,QQ:2301013064 邮箱:feige6@139.com
以下网友喜欢您的帖子:

  
至圣

经验值: 17965
发帖数: 2974
精华帖: 7
回复:跟我一起玩200smart PLC


只看楼主 4楼 2016-12-27 15:53:14
是的,编程思路很重要!
 
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:跟我一起玩200smart PLC


只看楼主 5楼 2016-12-27 16:22:43

大侠大侠,上个监视波形图行不?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 6楼 2016-12-27 19:48:15
以下是引用芳季在2016-12-27 16:22:43的发言 >5楼

大侠大侠,上个监视波形图行不?

回季侠:

  我在做这个的时候,也曾考虑过,但手头没有相应的硬件支持。

在做这个文档时,考虑过用数字量输出做模拟的。但实际做完后,感觉显示不直观,最后我删除了那些内容。

本来在主程序的截图上想考虑把各中断子程序也截进去,但画面太小了,最后还是放弃了。

这个是该文档的“幕后”插曲。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67523
发帖数: 14779
精华帖: 100
回复:跟我一起玩200smart PLC


只看楼主 7楼 2016-12-27 19:54:56
以下是引用WWCWWC在2016-12-27 19:48:15的发言 >

回季侠:

  我在做这个的时候,也曾考虑过,但手头没有相应的硬件支持。

在做这个文档时,考虑过用数字量输出做模拟的。但实际做完后,感觉显示不直观,最后我删除了那些内容。

本来在主程序的截图上想考虑把各中断子程序也截进去,但画面太小了,最后还是放弃了。

这个是该文档的“幕后”插曲。

状态监视中有这个功能啊。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 8楼 2016-12-27 19:56:08

其实,我做这些文档真正的目的是想普及200smart PLC的一些基础知识。因本人才疏学浅,所经历西门子的应用远远不够深,很难把西门子的精髓部分呈现出来,希望各位大侠包容,并提出宝贵意见。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 9楼 2016-12-27 19:59:59
以下是引用芳季在2016-12-27 19:54:56的发言 >7楼

状态监视中有这个功能啊。

以下是引用WWCWWC在2016-12-27 19:48:15的发言 >:回季侠:  我在做这...

引用详细内容:

回季侠:

  我在做这个的时候,也曾考虑过,但手头没有相应的硬件支持。

在做这个文档时,考虑过用数字量输出做模拟的。但实际做完后,感觉显示不直观,最后我删除了那些内容。

本来在主程序的截图上想考虑把各中断子程序也截进去,但画面太小了,最后还是放弃了。

这个是该文档的“幕后”插曲。

我基本每次到最后都贴出“状态图表”的,唯独这次没有的原因是我前面说了我当时做的本意。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 69029
发帖数: 12259
精华帖: 59
回复:跟我一起玩200smart PLC


只看楼主 10楼 2016-12-27 20:03:49

感谢分享

只能看看学习了~


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

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 11楼 2016-12-27 20:08:10

既然已经说到幕后,我也不担心亮个底。有时候自以为很成熟了、平时也是这么用的编程方法,因一些疏霍造成程序的出错,所以我发文档前自己先验证一下,以防误导人家。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 12楼 2016-12-27 20:09:59
以下是引用RENHQ在2016-12-27 20:03:49的发言 >10楼

感谢分享

只能看看学习了~

这个、这个对于你们更谈不上分享了。

我仅仅是在普及基本的而已。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 13楼 2016-12-27 20:15:27

为什么这些天来老看我只发200smart文档,不发其他的,是我与部分网友曾经拿了西门子200smart一台CR60机,心里总感觉愧疚,于是自己拿出洪荒之力,写了一些尚不成熟的东西,聊表一些心意。不足之处,请多指导。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 69029
发帖数: 12259
精华帖: 59
回复:跟我一起玩200smart PLC


只看楼主 14楼 2016-12-27 20:23:03
以下是引用WWCWWC在2016-12-27 20:09:59的发言 >12楼

这个、这个对于你们更谈不上分享了。

我仅仅是在普及基本的而已。

以下是引用RENHQ在2016-12-27 20:03:49的发言 >10楼:感谢分享只能看看学...

引用10楼详细内容:

感谢分享

只能看看学习了~

也是分享

把自己会的东西写出来让大家都知道,就是分享~

而且我也不会,看看有个印象,也有以后用到了,就能想起来


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

  
版主

经验值: 25990
发帖数: 11808
精华帖: 43
回复:跟我一起玩200smart PLC


只看楼主 15楼 2016-12-27 21:28:37

1、VD0没有初始化为实数。

2、加减法应该输出的是三角波。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 72009
发帖数: 8043
精华帖: 145
回复:跟我一起玩200smart PLC


只看楼主 楼主 16楼 2016-12-27 22:45:10
以下是引用yanxiao在2016-12-27 21:28:37的发言 >15楼

1、VD0没有初始化为实数。

2、加减法应该输出的是三角波。

没有错,确确实实是三角波输出方式,而不是真真意义上的正弦波输出,下次修改一下重新做一个程序。

参见链接回复:

http://ww.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=137760&cid=1081

程序:
LD     SM0.0
MOVR   VD0, VD4
*R     0.0174, VD4         //角度转换为弧度
SIN    VD4, VD0           //
+R     1.0, VD0           //增幅为1度
LDR>   VD4, 360.0       //当弧度大于360度时,清零
MOVR   0.0, VD4

把角度转换为弧度:π/180×角度,约等于0.0174

实际的正弦波输出在工作中会受模拟量输出模块相应、plc扫描周期刷新、中断的间隔时间等因数的影响,使正弦波形变的不平滑。


 
以下网友喜欢您的帖子:

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