设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子SCL编程实例——定时自复位程序
返回列表
发新帖
[西门子]
西门子SCL编程实例——定时自复位程序
[复制链接]
97651
|
0
|
2024-4-28 20:40:44
|
显示全部楼层
|
阅读模式
在实际项目中,有时候需要对某个变量进行定时自复位处理。也就是说,当该变量被置位(值变为TRUE)后,经过一定时间,会自动复位(其值变为FALSE)。今天这篇文章,我们就使用SCL语言编程实现这样一个函数块(FB)。
创建函数块FB10_AutoReset,在其变量声明区声明如下变量:
参数类型
参数名称
数据类型
说明
输入
resetTime
Time
复位的时间
输入/输出
val
Bool
要复位的变量
特别说明:val类型是输入/输出参数,因为函数块要对其进行读写操作。
另外还有一些静态变量,如下图所示:
接下来写程序的代码,其中使用到了延时接通定时器。定时器的背景数据块设为多重背景数据块,即使用FB10_AutoReset的背景数据块。
代码如下图所示:
该代码首先将变量val的值保存到静态变量statAutoVal中,然后在statAutoVal的值为真的情况下,启动TON定时器开始计时。当到达设定的时间后,将statAutoVal复位。
最后将statAutoVal的值赋给变量Val;
在主程序块OB1中调用函数块FB10_AutoReset,使用M10.0作为测试变量,如下图所示:
这个函数块功能我已经实际测试过,感兴趣的小伙伴可以自己测试下,如果有任何问题欢迎讨论。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
founderchip
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』