小从众 2025-11-30 11:37:05 | 显示全部楼层 | 阅读模式

『7x24小时有问必答』

一、  导读

1定时器的分类
在西门子S7-200SMART CPU中分别有接通延时定时器TON保持型接通延时定时器TONR关断延时定时器TOF三种。但由于在  STEP 7 Micro/WIN SMART里定时器的调用总数限制在256,并且S7-200 SMART子程序多次调用时不能使用定时器因此可以使用开始间隔时间指令BGN_ITIME计算间隔时间指令CAL_ITIME两条指令,可实现对位信号的计时功能并且可以在子程序中进行多次调用
2认识时间间隔定时器
1:时间间隔定时器(左侧为开始间隔时间指令右侧为计算间隔时间指令
开始间隔时间指令当指令EN端条件满足时(需要使用沿脉冲信号)捕捉EN接通的时刻读取内置  1  毫秒计数器的当前值,并将该值存储在  OUT  其数据类型为DWORD
计算间隔时间指令计算当前时间与  IN  端地址中提供的时间差,然后将差值存储在  OUT  其数据类型亦为DWORD双字毫秒值的最大计时间隔为2^32  49.7  天。 根据  BGN_ITIM  指令的执行时间,CAL_CITIM  指令会自动处理在最大间隔内发生的一毫秒定时器翻转。

二、定时器应用

接下来我们通过一个简单的应用程序来充分理解时间间隔指令;如图2所示。
当程序段1BGN_ITIM指令的EN导通一个扫描周期时系统将会读取该扫描周期内接通的具体时间存放在OUT地址VD0同时程序段2中  CAL_CITIM指令会计算OUT中地址VD4IN端地址VD0的差值从而得到EN端接通的实际时间并且该时间单位为毫秒
2LAD控制图

三、定时器在子程序中的应用

在很多实际应用中会建立子程序用于多次调用,并且会用到定时器、计数器等指令。但由于200SMART系列PLC的定时器不能用于子程序的多次调用此时就可以用到时间间隔指令了;具体操作我们可以参考以下示例程序。
(1)  打开STEP 7 Micro/WIN SMART软件创建一个SBR_0的子程序在子程序变量表中建立变量如图3所示。
3:子程序变量表
2)  在子程序程序编辑区调用BGN_ITIM  指令和CAL_CITIM  指令,如图4所示。注意在子程序中不能使用沿脉冲信号,因此需要在MAIN主程序中使用沿脉冲信号
4:子程序
(3)  选择MAIN主程序打开项目树中的“调用子程序”将建好的子程序SBR_0拖至MAIN主程序中并给各形式参数分配实参,并且可以实现多次调用;执行不同的条件,便可以实现对应的时间记录如图5所示。
5MAIN主程序
该程序实现的功能是:
程序段1:V20.0  从接通到断开这一过程的计时,计时结果(单位:毫秒)在VD4  中查看。
程序段2:V20.1  从接通到断开这一过程的计时,计时结果(单位:毫秒)在VD12  中查看。

四、结语

时间间隔指令实际应用比较少,通过子程序进行时间的记录,采用时间间隔指令是其中一种方法,在使用该方法时,需要注意2点:1.是在BGN_ITIM  指令的EN端需要使用脉脉冲信号触发而在子程序中又不能使用沿脉冲信号因此在主程序对该形式参数赋实参时务必加沿脉冲指令否则CAL_CITIM指令OUT将没有值2.是CAL_CITIM指令OUT地址为DWORD数据类型并且单位为毫秒,需要进行二次运算后才是我们实际需要的运行时间。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码