设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子SCL编程实例-自己编程实现减计数器 ...
返回列表
发新帖
[西门子]
西门子SCL编程实例-自己编程实现减计数器
[复制链接]
165
|
0
|
2024-4-25 16:59:00
|
显示全部楼层
|
阅读模式
实际项目中我们可能需要对某些过程进行计数,比如:气缸往复运动一定次数后提醒用户进行保养、检测到一定数量的饮料瓶后向机械手发出装箱指令,等等。这些类似的情况,需要用到计数器功能。
我们可以使用Step7自带的计数器指令(CTU/CTD等),也可以编写自己的计数器函数。自己编写的好处在于有利于实现程序的标准化,并且可以根据需要增加功能。本文我就给大家介绍一个用SCL语言编写的减计数器。
创建一个FC,命名为:FC_CounterBackward。
设置接口参数如下:
FC_CounterBackward参数列表
[tr]名称
类型
数据类型
说明
[/tr]
Gate
输入
布尔型
控制门
CountBack
输入
布尔型
减计数器信号
Set
输入
布尔型
设定值信号
NormalValue
输入
整数
设定值
CounterReached
输出
布尔型
计数器触发(实际值<=0)
HelpFlagPositveEdge
输入/输出
布尔型
计数器信号辅助变量
ActualValue
输入/输出
整数
实际计数值
tmpCounterReached
临时变量
布尔型
输出值的临时变量
说明:
Gate用来使能计数器功能;
CountBack为减计数信号,只在上升沿有效。但实参不需要上升沿,因为程序内部会计算;
Set信号用来设置给定值,计数开始前需要关闭;
HelpFlagPositveEdge变量用来检测上升沿,需要使用静态变量或者全局变量;
CounterReached表示计数器已经触发,此时实际计数值<=0;
代码如下:
主程序中调用示例如下图:
好了,关于SCL编写减计数器代码就先介绍到这里,后续我会录视频给大家演示下实际效果。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
founderchip
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』