设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
一起学习使用S7-200 smart子程序
返回列表
发新帖
[西门子]
一起学习使用S7-200 smart子程序
[复制链接]
39424
|
0
|
2024-5-20 14:11:55
|
显示全部楼层
|
阅读模式
一、S7-200 Smart子程序的基本设计原则
1.1 1个子例程最多可以传递16个参数,最多占用60个字节。
1.2 参数类型包括IN、OUT、IN OUT、TEMP。
1.3 IN为只读参数,IN OUT、OUT、TEMP 参数可读可写。
1.4 OUT、TEMP参数需要遵循“先赋值再使用。
1.5 子程序开始,将IN、IN OUT引脚的变量读入对应局部变量。
在运行过程中只对局部变量进行计算;子程序结束,将OUT、IN OUT对应的局部变量写入外部引脚。
二、主要遇到的问题
2.1 为什么重复调用的子程序执行结果会互相影响?
临时保存在局部致据堆栈中的临时变量。一旦POU完全执行,临时变量值不再可用。在两次 POU执行之间,临时变量不保持其值,所以使用前要初始化临时变量。
另外可以把out变量修改为in_out类型。
我们设计一个子程序如下:
测试结果,两个调用互相不影响
我们在设计一个程序
测试结果发现已经收到干扰了,后面一个调用程序同样执行。
2.2子程序中的定时器不工作或者工作不正常?
测试结果,定时器不执行
我们可以用子程序中使用自累加功能来计时或者利用时间间隔定时器。
测试,上升沿工作不正常。
我们将秒脉冲放在外面测试,计时正常。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
hehgg1978
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』