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

描述

PLC主要是指数字运算操作电子系统的可编程逻辑控制器,用于控制机械的生产过程。也是公共有限公司、电源线车等的名称缩写。PLC可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的核心部分。

一、海为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不断循环计数。寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。

二、没有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,如下图:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分