长沙工控帮教育科技有限公司整理 Copy
6 用于处理运行系统计时器的SFC
6.1
运行时间定时器
简介
CPU具有若干运行时间定时器(请参照有关CPU技术资料)。
• SFC 2、3和4用于设置、启动、停止或读取CPU 16位运行时间定时器。
• SFC101 “RTM”用于设置、启动、停止或读取CPU 32位运行时间定时器。
注意
SFC 2、3和4也可用于32位运行时间定时器。但是,在这种情况下这个运行时间定 时器将以16位模式工作(取值范围:0到32767小时)。
参见:具有SSL ID W#16#0132索引W#16#000B的部分列表摘录的数据记录。
应用
运行时间定时器有各种应用方式:
• 测试CPU的运行时间
• 测试控制器或相关设备的运行时间。
运行时间定时器的特征
启动时,运行时间定时器开始记录最后一个数值。如果要求在不同的初始值启动,
这个值必须自己定义(SFC2或SFC101,MODE=4)。如果CPU进入STOP状态,或者 您停止运行时间定时器,则CPU将记录运行时间定时器的当前值。在执行CPU热重 启或冷启动后,必须重新启动运行时间定时器(SFC3或SFC101,MODE=1)。
取值范围:
• 带有16位运行时间定时器的CPU:0到32767小时
• 带有32位运行时间定时器的CPU:0到(2E31) -1 小时 = 2.147.483.647小时
长沙工控帮教育科技有限公司整理
6.2
使用SFC101 “RTM”控制运行时间定时器
描述
调用SFC101 “RTM” (运行时间定时器)可设置、启动、停止和读取CPU的32位运行 时间定时器。
调用SFC51 “RDSYSST”,SZL_ID=W#16#0132,INDEX=W#16#000B(运行时间定 时器0 … 7)或INDEX=W#16#000C(运行时间定时器8 … 15)读取CPU 32位运行时间 定时器的值,(参见具有SSL ID W#16#0132索引W#16#000B的部分列表摘录的数据 记录。
参数 声明 数据类型 存储区域 描述 NR INPUT BYTE I、Q、M、D、L、
常数
运行时间定时器的编号(允许值:0 … 15)
MODE INPUT BYTE I、Q、M、D、L、
常数
作业标识符:
• 0:读取(状态写入CQ,当前值写入 CV)。运行时间定时器达到(2E31) -1 小时,它会停止运行并显示这个最高
SFC 2 “SET_RTM”、SFC 3 “CTRL_RTM”和SFC 4 “READ_RTM”可用于操作32位 运行时间定时器。但此时,32位运行时间定时器只能当作16位使用(取值范围:
0到32767小时)。
具有SSL ID W#16#0132和索引W#16#0008的部分列表摘录以16位模式显示32位运 行时间定时器0到7。也就是说,您可以继续使用为具有16位运行时间定时器的CPU 开发的程序,这些程序使用具有SSL ID W#16#0132和索引W#16#0008的部分列表 摘录。
长沙工控帮教育科技有限公司整理
出错信息
出错代码 W#16#...)
说明
0000 无故障
8080 运行时间定时器编号出错 8081 负值被传送到参数PV。
8082 运行时间定时器溢出。
8091 输入参数MODE的值非法。
8xyy 常规故障代码,请参见使用输出参数RET_VAL判断故障
长沙工控帮教育科技有限公司整理
6.3
使用SFC2 “SET_RTM”设置运行时间定时器
描述
使用SFC2 “SET_RTM” (设置运行时间定时器),可将CPU的运行时间定时器设置为 所选值。可以设置的运行时间定时器数量取决于所使用的CPU。
参数 声明 数据类型 存储区域 描述 NR INPUT BYTE I、Q、M、D、L、
常数
输入NR包含您要设置的运行时间定时器的 编号(允许值:0到7)。
PV INPUT INT I、Q、M、D、L、
常数
参数PV用于运行时间定时器设置 (缺省值)。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在执行功能的同时出错,则返回值包 含故障代码。
出错信息
出错代码(W#16#...) 说明
0000 无故障
8080 运行时间定时器的编号出错
8081 负值被传送到参数PV。
8xyy 常规故障代码,请参见使用输出参数RET_VAL判断故障
长沙工控帮教育科技有限公司整理
6.4
使用SFC3 “CTRL_RTM”启动和停止运行时间定时器
描述
SFC3 “CTRL_RTM” (控制运行时间定时器)用于启动或停止CPU的运行时间定 时器。
参数 声明 数据类型 存储区域 描述 NR INPUT BYTE I、Q、M、D、L、
常数
输入NR包含您要启动或停止的运行时间定 时器的编号(允许值:0到7)。
S INPUT BOOL I、Q、M、D、L、
常数
输入S可启动或停止运行时间定时器。
当您想要停止计数器时,请将信号状态设 置为“0”。当您想要启动计数器时,请将信 号状态设置为“1”。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在执行功能时出错,则返回值将包含 故障代码。
出错信息
出错代码(W#16#...) 说明
0000 无故障
8080 运行时间定时器的编号故障
8xyy 常规故障代码,请参见使用输出参数RET_VAL判断故障
长沙工控帮教育科技有限公司整理
6.5
使用SFC4 “READ_RTM”读取运行时间定时器
描述
使用SFC4 “READ_RTM” (读取运行时间定时器),可以读取运行时间定时器。
SFC4以输出数据的形式提供当前的运行时间,以及计数器的状态,例如,“停止”或
“计数”。
如果运行时间定时器运行超过32767小时,它将停在计数值32767并输出“溢出”的故 障消息。
参数 声明 数据类型 存储区域 描述 NR INPUT BYTE I、Q、M、D、L、
常数
输入NR包含您要读取的运行时间定时器的 编号(允许值:0到7)。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能运行时出错,则返回值包含故 障代码。
CQ OUTPUT BOOL I、Q、M、D、L CQ显示运行时间定时器是否运行。信号状 态“0”表示运行时间定时器已被停止。信号 状态“1”表示运行时间定时器正在运行。
CV OUTPUT INT I、Q、M、D、L CV显示运行时间定时器的当前值。
出错信息
出错代码(W#16#...) 说明
0000 无故障
8080 运行时间定时器的编号出错
8081 运行时间定时器溢出
8xyy
长沙工控帮教育科技有限公司整理
常规故障代码,请参见使用输出参数RET_VAL判断故障6.6
使用SFC64 “TIME_TCK”读取系统时间
描述
使用SFC64 “TIME_TCK” (时间刻度报时信号),可以读取CPU的系统时间。系统时 间是一个循环时间计数器,技术范围周期性从0统计到最大值~2147483647毫秒的“
时间计数器”。如果出现上溢溢出时,系统时间将从0开始重新计数。系统时间的分 辨率和精度对于S7-400和CPU 318系统时间的分辨率和精度为1毫秒,而对于所有其 它S7-300 CPU则为10毫秒。只有CPU的操作模式才影响系统时间只受CPU工作模 式的影响。
应用
例如,比较SFC64两次执行的结果,测试执行周期。
系统时间和模式
模式 系统时间...
启动 ...刷新
RUN STOP ...停止并且保持当前值 热重启
(不适于S7-300和S7-400 H)
...延续进入停止前保存的值
暖重启 ...删除并从“0”重新开始 冷重启
参数 声明 数据类型 存储区域 描述
RET_VAL OUTPUT TIME I、Q、M、D、L RET_VAL参数读取的系统时间取值 范围:0到231-1毫秒。
出错信息
SFC64 “TIME_TCK”不提供任何出错信息。
长沙工控帮教育科技有限公司整理