设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-200 SMART 基础篇之子程序应用
返回列表
发新帖
[西门子]
S7-200 SMART 基础篇之子程序应用
[复制链接]
52252
|
0
|
2024-3-23 08:37:05
|
显示全部楼层
|
阅读模式
S7-200 SMART 基础篇之子程序应用
注:本文程序仅供参考!!!
一、子程序概述及创建
▶ 程序结构:
1、线性化编程,不适合程序的调试和修改。
2、功能块化编程,把控制任务进行结构划分,每个子程序完成一个功能,然后在根据条件去调用相应的子程序来实现对应的功能运行,可让程序结构清晰,方便调试和程序修改。
3、结构化编程,在功能块编程的基础上进一步优化,而且适合程序项目的移植。
▶ 建立子程序:
建立子程序是通过编程软件来完成,可点击编程软件“编辑”菜单里“对象”中的插入子程序选项进行添加子程序。也可以在指令列表中的调用子程序文件夹中,右键点击子程序,然后选择插入子程序,或着在程序编辑区,右键点击“MAIN”选择插入子程序。在一个程序中可以有多个子程序,其地址排列为SBR0~SBRn,一个项目中最多可以有128个子程序。用户可以对子程序重命名。
▶ 子程序的调用及执行过程:
二、带参数子程序创建
1、子程序的分类:
在S7-200 SMART系列PLC中,子程序可分为两类:不带参数的子程序和带参数的子程序。使用带参数的子程序可以重复调用或做成功能块方便以后使用(如模拟量转换程序)。
2、带参数的子程序:
子程序可带参数,带参数的子程序调用极大的扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程中如果存在数据传递,则在调用值中应包含相应的参数。子程序最多可以传递16个参数,参数在子程序的具备变量表中定义,参数包含有变量名,变量类型和数据类型。
①地址:在子程序中编写程序的时候的操作是地址,使用局部变量存储器,改地址系统根据所选数据类型自动分配。
②符号:用户命名的,最多用23个字符表示,第一个字符不能是数字,该名称会显示在子程序的管脚上。
③变量类型:变量类型是按变量对应的数据的传递方式来划分,是从外围吧数据传入到子程序中运算或把运算结果传递出来。
④数据类型:用于对每个变量的数据类型进行声明,系统会根据声明的数据类型分配对应的地址。
⑤注释:用来备注管脚的用途及说明。
3、变量类型说明:
在变量表中的变量类型主要有IN、IN/OUT、OUT、TEMP四种变量类型,每种变量类型在使用时具有不同的作用,在建立变量类型时,若选择了错误的变量类型,则子程序多次调用可能出现问题,运算结果不准确。
★输入变量类型(IN)
输入参数将调用它的POU提供的数据值传入子程序,可以使用常数,直接寻址,间接寻址的方式传入到子程序,一般在建立时,如触点参与运算的输入值都建立为IN的变量类型。如图所示虚框中的变量。
★输入/输出变量类型(IN/OUT)
其初始值由调用它的POU传送给子程序,并用同一参数将子程序的执行结果返回给调用它的POU,因此常数和指针不能用于输入_输出参数。一般使用中有线圈又有触点的可变变量,或者如递增递减中输入输出同一个地址的可以选择该变量。如图所示虚线框中变量。
★输出变量类型(OUT)
输出参数用于将子程序的执行结果返回给调用它的POU,输出参数必须在每次调用结束前给其一个确定的值。一般应用中如中断线圈或是一个运算指令的输出。如图虚线框中的变量。
★临时变量类型(TEMP)
临时变量是暂时保持在局部数据区的变量,只有在执行某个POU时,它的临时变量才被使用。临时变量使用公共的存储区。因此在每次调用时要先初始化临时变量然后再使用,一般在程序中存储中间结果时使用该变量。如图虚线框中的变量。
支持的数据格式:
三、子程序使用注意事项:
1、如果在子程序的内部又对另一个子程序执行调用指令,则这种调用称为子程序的嵌套,子程序嵌套的深度最多位8级。
2、在子程序内部可使用RET指令进行有条件的返回,用编程软件编程时,无需在子程序最后输入RET指令,软件会自动在内部把RET指令添加到子程序的结尾(不显示出来)。
3、当子程序在一个扫描周期内多次调用的时候,在子程序中不能使用上升沿、下降沿、定时器和计数器指令。
注:本文程序仅供参考!!!
四、子程序应用举例:
1、起保停子程序应用
当输出为OUT变量类型时:
经过测试,当输出为OUT变量类型时,不能满足起保停控制,重复调用时,输出控制也有问题。
当输出为IN/OUT变量类型时:
经过测试,当输出为IN/OUT变量类型时,能满足起保停控制,重复调用时,输出也互不干扰。
2、设备定时控制子程序应用:
(参考文章:S7-200 SMART 案例应用之设备定时控制)
建立变量表
编写定时控制程序
编写控制程序
下载监控程序
参考文章:S7-200 SMART 案例之软故障判断
参考文章:S7-200 SMART 模拟量概述及自建库文件
参考文章:S7-200 SMART 案例应用之中位值平均滤波算法
参考文章:S7-200 SMART 案例应用之冒泡排序
参考文章: S7-200SMART案例应用之先进先出(FIFO)
注:本文程序仅供参考!!!
本文程序链接:
链接:https://pan.baidu.com/s/1Ny4gr7YEyE8IH1jOsy9aOg?pwd=904f 提取码:904f
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
剑指工控
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』