中国工控网 - 中国工控网,专业工控信息服务平台 !

商业资讯: 企业新闻 | 人物专访 | 企业关注 | 专家观点 | 技术文摘 | 解决方案 | 展会新闻 | 工控知识 | 工控百科 | 产品推荐

你现在的位置: 首页 > 商业资讯 > 使用维修 > 巧用16us精度系统时间实现毫秒级控制

巧用16us精度系统时间实现毫秒级控制

信息来源:gkong.biz  时间:2008-12-09  浏览次数:127

  一、海为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 OFF
  SM4:100ms方波脉冲,50ms ON / 50ms OFF
  SM5:1s方波脉冲,500ms ON / 500ms OFF
  4、海为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,如下图:

    ——本信息真实性未经中国工控网证实,仅供您参考