- {{item.name}}
如何在不使用 “S7 Timer”的条件下,为 “S7”创建一个定时器?
- 0
- 291
- 5429
说明:
“S7 CPUs” 有一个时间单元 (TIMETICK) ,它以毫秒为单位循环地从 0x0 数到 0x7FFFFFFF。“S7-400 CPUs” 和 “CPU 318”“以毫秒分辨率”执行此计数,非常精确。其它的 “S7-300 CPUs” (除 CPU 318 之外) 以 10 毫秒分辨率计数。
“TIMETICK” 也存在于“WinAC” Basic (SoftPLC) 并以10ms 为计数单位。
以下概念基于 “SFC64”(TIMETICK),它读取 “CPU” 当前的“TIMETICK”。这样就可以在不用完“CPU”“Timer 资源”的情况下创建任意数量的定时器。
产生定时的原理非常简单。如果启动定时,从“CPU”读取当前的“TIMETICK”并存储。如果要在随后的某个时刻查询定时器,需要一个功能,该功能计算定时器启动后所需要的时间。
基于此简单的功能,可以根据需要创建复杂的脉冲和时间功能。
在很多应用中,能够满足基于循环的定时;事实上,出于一致性考虑常常要求使用此种定时。此概念考虑到了这种要求,同时它也适合于毫秒范围内基于调用的定时。
此概念的优势:
- 适用于运行时间。
- 不使用 “TIMER” 系统资源。
- 精确的缩放功能(如示例中基于循环的,或基于程序调用的,如在启动计时及查询计时的情况下调用“SFC64)”。
- 应用使得 FC 可以使用存储器资源(DW),这样便可以根据需要创建任意多的定时器。
基于循环的 TIMER 结构
产生定时的基础是 “CPU” 的“TIMETICK”。对于基于循环的定时,每个周期读取一个“TIMETICK”便足够,将读取的结果保存,使其可以被所有的(FB,FC)应用访问。重要的是,循环的读取可以节省循环时间。在每个周期中,不必对每个定时器都调用“SFC64”。
关于 “TIMETICK”的应用样例可参见条目号 ID 8736822。
注意事项:
所有的 S7-300 CPU 模块从 V2.4 版本开始有1ms 的间隔。
关键字:
定时器,资源
https://support.industry.siemens.com/cs/cn/zh/view/8736315
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 如何使用FB15 "PUT" 和 FB14 "GET"功能块进行组态和编程,创建一个 S7 连接用于一个S7-1200和一个S7-300 CPU的数据传输?
- 如何将定时器(Timer)的剩余时间转为浮点数(Real)?
- PCS7中在不使用Faceplate的情况下如何实现直接操作的功能
- 安装 STEP 7 Basic V10.5 的条件是什么?
- 如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
- 如何用SCOUT中打开在不同区域语言下创建的项目
- 如何构建一个WinCC冗余项目
- 如何在不进行砝码标定的情况下更换称重模块
- 如何使用SIMATIC NET PC 软件为SIMATIC NET OPC 服务器在 MPI 网络上创建连接 S7 连接?
- 如何在SCL中实现循环执行S_ODT定时器
{{item.nickName}}