定时器在STEP 7V5.x及STEP 7(TIA Portal)的不同处理步骤

描述

描述

本条目将阐述"程序中使用定时器"主题在 STEP 7 V5.x 及STEP 7 (TIA Portal) 的不同处理步骤.

在STEP 7 V5.x步骤

基于STEP 5的兼容性,仍然可以使用STEP7 S5定时器与计数器,定时器和计数器是全局的且基于编号寻址,当启动定时器/计数器时,需要预定义"值范围"及"精度"模式以决定定时器是延时定时器及计数器是否是加计数器,需要注意以下参数属性设置:

每个定时器或计数器有一个单独的编号.

在块中不能多次调用同一个编号的S5定时器/计数器.

定时器的计时范围最大为9990秒,计数器的最大计数值为999.

定时器的时基可以设置为0.01 .. 9.99, 0.1 … 99.9, 1 … 999 及10 … 9990 秒

定时器的精度取决于时基.

在STEP 7 (TIA Portal)步骤

在块调用的地方定义定时器和计数器,IEC定时器是一个结构体数据类型,包括IEC_TIMER, IEC_LTIMER, TON_TIME 或TON_LTIME,可作为本地变量使用.

优势

通过创建多个背景数据块,可以调用多次定时器功能的FB块。

块将有更宽的计数范围 ,且定时器的精度与时基无关.

IEC定时器有比普通S5定时器更好的性能.

图1位上述步骤地两个例程,其中变量 "SwitchDelay" 被声明为一个本地"TON_TIME"类型变量,变量"CountDB" 被声明为一个"CTU_INT"类型变量 .

 计数器

可以按如下方式声明 IEC 计数器:

系统数据类型 IEC_ 的数据块声明(例如,“MyIEC_COUNTER”)

声明为块中“Static”部分的 CTU_ 或 IEC_ 类型的局部变量(例如 #MyIEC_COUNTER)

如果在单独的数据块中设置 IEC 计数器(单背景),则将默认使用“优化的块访问”(optimized block access) 创建背景数据块,并将各个变量定义为具有保持性。有关在背景数据块中设置保持性的更多信息,请参见“另请参见”。

如果在函数块中使用“优化的块访问”(optimized block access) 设置 IEC 计数器作为本地变量(多重背景),则其在块接口中定义为具有保持性。

执行“加计数”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。

计数器

图 01

示例

以下示例说明了该指令的工作原理:

计数器

当“TagIn_1”操作数的信号状态从“0”变为“1”时,将执行“加计数”指令,同时“Tag_CV”操作数的当前计数器值加 1。每检测到一个额外的信号上升沿,计数器值都会递增,直至达到该数据类型的上限 (INT = 32767)。

PV 参数的值作为确定“TagOut”输出的限制。只要当前计数器值大于或等于操作数“Tag_PV”的值,输出“TagOut”的信号状态就为“1”。在其它任何情况下,输出“TagOut”的信号状态均为“0”。

IEC 定时器是一个 IEC_TIMER 或 TP_TIME 数据类型的结构,可如下声明:

计数器

声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“MyIEC_TIMER”)

声明为块中“Static”部分的 TP_TIME 或 IEC_TIMER 类型的局部变量(例如,#MyIEC_TIMER)

示例

以下示例说明了该指令的工作原理:

计数器

下表将通过具体的操作数值对该指令的工作原理进行说明:

参数 操作数
IN Tag_Start 信号跃迁“0”=>“1”
PT Tag_PresetTime T#10s
Q Tag_Status TRUE
ET Tag_ElapsedTime T#0s => T#10s

当“Tag_Start”操作数的信号状态从“0”变为“1”时,PT 参数预设的时间开始计时,且“Tag_Status”操作数置位为“1”。

当前时间值存储在“Tag_ElapsedTime”操作数中。定时器计时结束时,操作数“Tag_Status”的信号状态复位为“0”。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分