1、海为 PLC巧用 16us 精度系统时间实现毫秒级控制作者:厦门海为科技有限公司一、海为 PLC与时间相关的系统资源1、定时器:时基分为 10ms、100ms、1s,对每个定时器时基可以任意指定其中一种2、系统实时时钟:实时时钟存储在 SV12-SV18 共 7 个寄存器中SV12:表示年( 0-99)SV13:表示月( 1-12)SV14:表示日( 1-31)SV15:表示时( 0-23)SV16:表示分( 0-59)SV17:表示秒( 0-59)SV18:表示星期(1-7)3、系统脉冲:SM3:10ms 方波脉冲, 5ms ON / 5ms OFFSM4:100ms 方波脉冲, 50ms
2、ON / 50ms OFFSM5:1s 方波脉冲,500ms ON / 500ms OFF4、海为 PLC 独有的 16us 精度系统时间:SV49-SV50:32 位寄存器,SV49-SV50 为系统时间( 单位 16us), 系统自动循环计数 , 当计数到最大值 2147483647时归 0 不断循环计数二、没有 1ms 定时器能够实现毫秒级控制吗?利用 16us 精度系统时间完全能够实现毫秒级控制,本文例子实现一个 12ms ON / 88ms OFF 的脉冲。精度误差同普通定时器一样最大误差一个扫描周期,如下图:12ms = 12000us = 750( 16us) ,存放放在 V2000-V2001 中88ms = 88000us = 5500( 16us) ,存放放在 V2002-V2003 中建立一个名称为“时间间隔初始值”的初始寄存器值表,将 ON 时间设定为 750 和 OFF 时间设定为 5500(当然也可以不建立该表而选择在程序中初始化 V2000-V2001 及 V2002-V2003 的值) ,如下图:三、实现程序如下:本程序扫描周期 0.3ms,既误差 0.3ms,如下图: