quote:以下是引用学海无止境在2012-12-09 15:40:56的发言:
关于扫描周期,确实很重要!
记得以前我们做卷取机及张力控制都是放在T400或者是FM458中,扫描周期只有几ms,现在很有项目是为了节省成本,选择了将卷径计算,张力控制都放在PLC中执行,这个时候PLC的循环时间明显加长,因为这个也确实影响了程序计算的准备性及响应时间!
下面我把我们习惯用的做法分享出来!
描述
使用SFC 64 "TIME_TCK" (报时信号),可以读取CPU的系统时间。系统时间是循环时间计数器,技术范围0~2147483647毫秒。如果出现溢出,系统时间将从0开始重新计数。分辨率和系统时间精度为1 ms。只有CPU的工作模式才影响系统时间。
应用
例如,比较SFC 64两次执行的结果,测试执行周期。
系统时间和模式
模式 系统时间...
启动 ... 不断更新
RUN
STOP ... 停止并保持当前值
热启动
(不包括S7-300和S7-400 H) ... 以切换到STOP模式时所保存的值继续
暖启动 ... 删除并从"0"重新开始
冷启动
参数 声明 数据类型 存储区 描述
RET_VAL OUTPUT TIME I、Q、M、D、L RET_VAL参数读取的系统时间
取值范围:0到231-1毫秒。
故障信息
SFC 64 "TIME_TCK"不提供任何故障信息。
在程序的开始调用SFC64 得到一个时间
在程序的结尾调用SFC65得到一个时间,然后
L CYCLE_STOP
L CYCLE_START
-D
T "CYCLE_TIME" // Cycletime
就可以得出这个程序的扫描时间了