您现在所在的是:

海为Haiwell

回帖:1个,阅读:1093 [上一页] [1] [下一页]
7561
haiwell 版主
文章数:425
年度积分:50
历史总积分:7561
注册时间:2006/11/13
发站内信
发表于:2010/10/13 9:19:47
#0楼
海为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 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,如下图:
附件
PLC/HMI/SCADA 厦门海为科技有限公司www.haiwell.com
20507
qlin 版主
文章数:6709
年度积分:50
历史总积分:20507
注册时间:2006/2/20
发站内信
2018论坛优秀版主
2017论坛优秀版主
2016论坛优秀版主
2015论坛优秀版主
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2011论坛贡献奖
2010年论坛优秀版主
发表于:2010/10/14 16:24:34
#1楼
支持一下楼主,特顶帖!


----------------------------------------------
欢迎支持【职场人生】论坛:http://bbs.gkong.com/list.asp?Boardid=84&Big=Y

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003