登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:海为PLC——巧用16us精度系统时间实现毫秒级控制

点击:1113 回复:7

海为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的脉冲。精度误差同普通定时器一样最大误差一个扫描周期,如下图:
 
http://ftp.gongkong.com/UploadPic/Forum/2008-8/2008081413250300001(海为PLC——巧用16us精度系统时间实现毫秒级控制0).gif
12ms = 12000us = 750(16us),存放放在V2000-V2001中
88ms = 88000us = 5500(16us),存放放在V2002-V2003中
建立一个名称为“时间间隔初始值”的初始寄存器值表,将ON时间设定为750和OFF时间设定为5500(当然也可以不建立该表而选择在程序中初始化V2000-V2001及 V2002-V2003的值),如下图:
 http://ftp.gongkong.com/UploadPic/Forum/2008-8/2008081413252500001(海为PLC——巧用16us精度系统时间实现毫秒级控制1).gif
三、实现程序如下:
本程序扫描周期0.3ms,既误差0.3ms,如下图:
http://ftp.gongkong.com/UploadPic/Forum/2008-8/2008081413254000001(海为PLC——巧用16us精度系统时间实现毫秒级控制2).gif
10-03-15 08:47
海为的PLC没用过,看楼主的贴子确实很好。
10-03-15 09:47
很好!
10-03-15 10:07
谢谢楼上的支持,其实你们大家可以登录海为网站www.haiwell.com的论坛中心,会有更多的精彩知识内容!同时也可以在下载中心下载我们海为编程软件使用看看~
10-03-15 11:51
理论要联系实际,没次扫描时间是不一样的,输出响应时间都大于0.2ms。。。。。
10-03-15 19:28
海为的没用过,但装过软件,觉得还不错,带有仿真功能
10-03-15 21:59
海为,国产
10-03-16 08:17
是的,海为的三大突出优势主要体现在编程软件内置仿真器、强大的通讯和模拟量处理功能,所以其实大家如果使用软件还不错的话,可以尝试去购买一台海为PLC使用看看!
10-03-16 08:32

工控新闻

更多新闻资讯