S7-300 主程序OB1的局部变量#OB1_PREV_CYCLE提供了上一扫描周期的时间,单位为ms。将它累加可以得到PLC的运行时间。
WWW_PLCJS_COM-PLC-技.术_网
为了了解累加的时间值的精度,我编写了下面的程序来作了一个小实验。该程序的主体部分(PID程序)在OB35中,OB1原来只有很简单的几条指令。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
在初始化组织块OB100中增加了几条指令:
WWcW_PLCJS_COM-PLC-技.术_网
L L#0
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
T MD 100 //累加和单元清零
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
L LD 16
W1WW_P4LCJS_COM-PLC-技.术_网
T MD 104 //保存调用OB100时的分、秒、毫秒值和星期代码
WWW_PLCJS_COM-PLC-技.术_网
在OB1中增加了几条指令:
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
L #OB1_PREV_CYCLE
WWW_P※LCJS_COM-PLC-)技.术_网
L MD 100
WWW_P※LCJS_COM-PLC-)技.术_网
D
WWW_PLC※JS_COM-PmLC-技.术_网
T MD 100 //累加前一次的扫描时间
plcjs.技.术_网
L LD 16
WWW_P※LCJS_COM-PLC-)技.术_网
T MD 108 //保存调用OB1时的分、秒、毫秒值和星期代码
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
下图是实验结果,MD100是进入和离开RUN模式的扫描时间的累加值(ms)。
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
MD104和MD108分别是调用OB100时和进入STOP模式时的实时时间的分、秒、毫秒值和星期代码(BCD码),毫秒占3位,最后一位是星期代码。MD108中的时间值减去MD104中的时间值,得2min37s119ms=157119ms,与MD100中累加的运行时间相同。由此验证了这种累计方法的精度能到ms级。
WWW.PLCJS.COM——可编程控制器技术门户