海為PLC巧用16us精度系統(tǒng)時(shí)間實(shí)現(xiàn)毫秒級(jí)控制
時(shí)間:2009-02-19 11:42:08來源:ronggang
導(dǎo)語:?利用16us精度系統(tǒng)時(shí)間完全能夠?qū)崿F(xiàn)毫秒級(jí)控制,本文例子實(shí)現(xiàn)一個(gè)12ms ON / 88ms OFF的脈沖
一、海為PLC——與時(shí)間相關(guān)的系統(tǒng)資源
1、定時(shí)器:時(shí)基分為10ms、100ms、1s,對每個(gè)定時(shí)器時(shí)基可以任意指定其中一種
2、系統(tǒng)實(shí)時(shí)時(shí)鐘:實(shí)時(shí)時(shí)鐘存儲(chǔ)在SV12-SV18共7個(gè)寄存器中
SV12:表示年(0-99)
SV13:表示月(1-12)
SV14:表示日(1-31)
SV15:表示時(shí)(0-23)
SV16:表示分(0-59)
SV17:表示秒(0-59)
SV18:表示星期(1-7)
3、系統(tǒng)脈沖:
SM3:10ms方波脈沖,5ms ON / 5ms OFF
SM4:100ms方波脈沖,50ms ON / 50ms OFF
SM5:1s方波脈沖,500ms ON / 500ms OFF
4、海為PLC獨(dú)有的16us精度系統(tǒng)時(shí)間:
SV49-SV50:32位寄存器,SV49-SV50為系統(tǒng)時(shí)間(單位16us), 系統(tǒng)自動(dòng)循環(huán)計(jì)數(shù), 當(dāng)計(jì)數(shù)到最大值2147483647時(shí)歸0不斷循環(huán)計(jì)數(shù)
二、沒有1ms定時(shí)器能夠?qū)崿F(xiàn)毫秒級(jí)控制嗎?
利用16us精度系統(tǒng)時(shí)間完全能夠?qū)崿F(xiàn)毫秒級(jí)控制,本文例子實(shí)現(xiàn)一個(gè)12ms ON / 88ms OFF的脈沖。精度誤差同普通定時(shí)器一樣最大誤差一個(gè)掃描周期,如下圖:
12ms = 12000us = 750(16us),存放放在V2000-V2001中
88ms = 88000us = 5500(16us),存放放在V2002-V2003中
建立一個(gè)名稱為“時(shí)間間隔初始值”的初始寄存器值表,將ON時(shí)間設(shè)定為750和OFF時(shí)間設(shè)定為5500(當(dāng)然也可以不建立該表而選擇在程序中初始化V2000-V2001及 V2002-V2003的值),如下圖:
三、實(shí)現(xiàn)程序如下:
本程序掃描周期0.3ms,既誤差0.3ms,如下圖: