技术论坛

关于200smart定时中断的应用案例

作者 主题
至圣

经验值: 72011
发帖数: 8043
精华帖: 145
主题:关于200smart定时中断的应用案例
精华帖精华帖星级2级 推荐帖


只看楼主 只看精华 楼主 2018-03-17 18:50:55

关于200smart定时中断的应用案例

   昨天有一个网友提问,说需要做一个无关于plc扫描周期做脉冲输出的程序,脉冲周期为0.1S,提问链接【西门子200smart产生不受扫描周期影响的0.1S脉冲】:

http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=186987&cid=1076经过几次交流,估计还没有完全说明这个问题,于是我萌生了想写一写关于200smart 定时中断的应用的念头。

首先该网友需要编辑一个与plc扫描周期无关的输出,我这里理解为几个方面:

1)  与周期无关的程序一般采用中断,又结合是脉冲方式输出,所以定时中断比较合适。西门子200或者200smart 具体定时中断功能的有4个,其中2个是PT端子直接赋值(T32/T96),输入数据范围0~32767*时基,刷新的同步方式即相当于中断方式,系统自动连接到中断事件21# /22#;另外2个中断时间是在特殊标志字节SMB34/SMB35中设置,中断事件连接到10# /11#。

2)  因为是脉冲方式输出,我这里理解为方波占空比50%,因为要求这个脉冲周期为0.1S,那么,相当于50mS的占空比输出。

3)  综合上述要求,是与扫描周期无关的,所以需要立即输出方式

编程思路:

1)  定义定时中断,中断事件号10#,即SMB34中设置为50(mS)

2)  在主程序OB1中调用定时中断初始化子程序

3)  在定时中断子程序中编辑一个取反指令,因为该网友要求仅仅是一个输出,而指令最小单位是字节,所以,在取反指令下面,紧接着应该复位不使用的位逻辑结果。这里调用M区的MB0,当然这个地址区没有规定,用户自由选择其它地址也可以

4)  最后将结果用(I)指令隐射到物理输出地址Q0.0中

程序:完全按个人习惯编写

1)  定时中断初始化,图示:


2)  在主程序OB1中调用定时中断初始化子程序,图示:


3)  在子程序上编辑脉冲输出程序,图示:


4)  将程序编译保存后下载到cpu,打开状态图表,监控程序运行结果


在plc上测试结果能够满足需要,完成。

希望那位网友能够看到这个,如有疑问继续交流。



 
以下网友喜欢您的帖子:

  
重要声明:

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

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

至圣

经验值: 72011
发帖数: 8043
精华帖: 145
回复:关于200smart定时中断的应用案例
推荐帖


只看楼主 只看精华 楼主 1楼 2018-03-17 22:31:24

上午,看到另外一位热心网友有跳转指令在中断子程序中编辑脉冲输出,原理是一致的。

条件判断,执行输出,这个在编程中也经常要使用到。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 63470
发帖数: 12672
精华帖: 121
回复:关于200smart定时中断的应用案例
推荐帖


只看楼主 只看精华 2楼 2018-03-20 09:07:32

王工对技术一丝不苟实事求是精神值得学习,实践是检验真理的唯一标准啊。亲自动手啊,点赞。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3886
发帖数: 556
精华帖: 1
回复:关于200smart定时中断的应用案例
推荐帖


只看楼主 只看精华 3楼 2018-03-22 08:26:16

非常感谢,真是用心了。希望论坛能把,找答案里的没有解答清楚的问题多拿到论坛来供大家讨论


精益求精
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
关于200smart定时中断的应用案例
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。