技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 西门子PLC > 【跟着我一起来学习s7-200】38子程序

【跟着我一起来学习s7-200】38子程序

唐琳 发布于2015-12-16 16:11 11 0 标签:S7-200入门连载,PLC

前面学习了中断与中断程序的内容,那么今天就学习一下子程序的内容。子程序,它是备用程序,是调用才执行的,它的作用主要是优化程序结构,节约PLC资源。
在我们的编程软件里面,是默认提供了一个空的子程序SBR_0的,我们还可以创建子程序,在程序编辑区单击右键,选择“插入-子程序”就可以了。插入的此程序会从0开始递增生成,我们要注意的是对于CPU226XM,为SBR_0-SBR_127,对于其余的CPU,为SBR_0-SBR_63。
说到调用子程序,我们的主程序、子程序、中断程序都可以调用子程序。要调用子程序的时候,我们只需要在指令列表中的“调用子程序”文件夹里找到子程序,把它拖拽出来就可以了。如果子程序的局部变量表是有定义参数的,在调用了子程序后修改了局部变量表的话,那么调用指令是无效的,这样只能重新调用子程序。
对于子程序的调用,我们可以分为带参数的子程序调用和不带参数的子程序调用这两种。不带参数的子程序调用的特点有几个,是直接在子程序中利用绝对地址进行编程,第二是子程序功能块是没有接口的,第三是不带参数的子程序只能调用一次,这个我们要注意一下,不然会出现双线圈的错误,第四是当跳出子程序时要对内部状态复位或清零。
以下就是不带参数子程序调用的使用的例子。我们可以看到在子程序中利用的是绝对地址的,并且是没有定义接口的。


而带参数的子程序调用是要对局部变量表定义参数的,变量的地址也是有范围的,为LB0-LB31、LW0-LW30、LD0-LD28。子程序的局部变量表中是有IN、OUT、IN_OUT接口的,IN是把外面的数据传到内部,OUT是把内部的数据传到外部,IN_OUT是把外部的数据传到内部,再经过运算后再把数据传到外部。还有TEMP临时变量,TEMP是用于中间运算的,我们要注意的是它是要先赋值后使用的。子程序中凡是运算的中间过程我们都可以用累加器AC0-AC3,它的使用是没有限制的。还有就是带参数的子程序可以多次被调用,在每次调用时可以对不同的变量、数据进行相同的运算或操作。
以下就是带参数子程序调用的使用的例子。我们可以看到我们在子程序的局部变量表里是有定义接口的,定义了3个变量DW1、DW2和SUM,这些变量就是子程序的参数。我们要注意的是子程序的参数是形式参数,这些参数在调用子程序时是被实际的数据替代的。我们看到在变量符号前面有个“#”号,这就是表示这个变量是局部变量。


还有一个我们要注意的是,子程序在调用执行中,调用条件突然断开的话,所有状态会保持当前状态,100ms定时器会暂停计时,1ms和10ms定时器则不受扫描周期控制,会继续计时。

那么以上就是子程序的一些主要内容,后面的话会做一下子程序调用的应用,来更好的巩固子程序的内容。


作者:技成培训网(蔡慧荥)

【本文为原创作品。未经同意,盗取必究!】

推荐相关学习视频:

西门子S7-200PLC从入门到精通

西门子S7-200PLC高速脉冲及定位篇

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

S7-200入门连载 PLC

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签