设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
使用计数器指令来统计设备运行时间案例 ...
返回列表
发新帖
[西门子]
使用计数器指令来统计设备运行时间案例
[复制链接]
259
|
0
|
2024-6-26 09:16:43
|
显示全部楼层
|
阅读模式
>导读:在项目程序中,可以使用西门子S7-1200 PLC中的计数器指令对内部程序事件和外部过程事件进行计数,每个计数器的计数器数据都使用数据块进行存储。如图1所示,可以使用计数器指令来实现瓶体的计数,但是计数器不仅仅可以实现计数的功能,合理利用的话还可以实现计时的功能。那么本文就来探讨一下计数器指令的使用注意事项及技巧!
图1
一、控制要求
1.当设备启动之后,统计设备的运行时间,时间的格式为“天-时-分-秒”。
二、基础知识
1.1200PLC计数器指令
S7-1200PLC计数器分为三大类:加计数、减计数、加减计数指令
2.西门子S7-1200计数值的数值范围取决于所选的数据类型(如图2所示)。如果计数值是无符号整型数,则可以减计数到零或加计数到设计范围的极限值。如果计数值是有符号整数,则可以减计数到负整数限值或加计数到正整数限值。用户程序中可以使用的计数器数量只受CPU存储器容量的限制。换句话说,1200PLC的计数器指令不像S7-200SMART PLC一样有个数规定,只要CPU的容量够大,可以有无数个计数器指令。
3.为了说明计数器指令,可以用不同的数据类型存储最大的数据,如下图所示。这样的话,就可以根据需求来选择不同的数据类型。
4.由于每个计数器指令都会分配一个背景数据块来存储计数器的数据,这样的话计数器指令用的多的话,就会分配很多背景数据块,就很不方便我们编程人员管理。所以可以建立一个全局DB块来存储多个计数器的数据,如图所示。
注意:数据类型要选择正确
5. 如何编写自复位计数器并产生脉冲
首先给出两段错误的程序,如图3和图4所示
图3
错误原因:
当计数值达到10,首先置位"数据块_2".QU,紧接着"数据块_2".QU作为计数器R的输入,使得计数值清零,同时复位"数据块_2".QU,在下一网络段"DB77".Static_15依然是False,无法实现脉冲。
图4
错误原因:
计数值达到10,"数据块_2".CV=10,紧接着"数据块_2".CV与"数据块_2".PV的比较结果(True)作为计数器R的输入,使得计数值清零,同时复位"数据块_2".QU,在下一网络段"DB77".Static_15依然是False,无法实现脉冲。
正确写法:
三、程序设计
1.组态系统时钟
2.新建DB块,存储计数器数据
3.程序编写
1)程序段1是大家最熟悉的“起保停程序”
2)程序段2是利用系统时钟统计秒钟,当计数器“C7”到达了60秒后,“M100.0”接通产生一个沿脉冲,同时复位“C7”,于此同时分钟加1;当分钟到达60后,小时加1;当小时达到24小时后,天数加1。这样的话,我们就可以利用计数器的自复位的功能产生沿脉冲实现数据的累计。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
PLC工业机器人
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』