第四部分:高速計(jì)數(shù)器HSC功能塊_第1頁(yè)
第四部分:高速計(jì)數(shù)器HSC功能塊_第2頁(yè)
第四部分:高速計(jì)數(shù)器HSC功能塊_第3頁(yè)
第四部分:高速計(jì)數(shù)器HSC功能塊_第4頁(yè)
第四部分:高速計(jì)數(shù)器HSC功能塊_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、高速計(jì)數(shù)器HSC功能塊所有的Micro830 和Micro850控制器都支持高速計(jì)數(shù)器(HSC High-Speed Counter)功能,最多支持6個(gè)HSC。高速計(jì)數(shù)器功能塊包含兩部分:一部分是位于控制器上的本地I/O端子,具體信息見3.2.2節(jié);另一部分是HSC功能塊指令,將在下文進(jìn)行介紹。7.4.1 HSC功能塊圖 7-38高速計(jì)數(shù)器功能塊該功能塊用于啟/停高速計(jì)數(shù),刷新高速計(jì)數(shù)器的狀態(tài),重載高速計(jì)數(shù)器的設(shè)置,以及重置高速計(jì)數(shù)器的累加值。注意:在CCW中高速計(jì)數(shù)器被分為兩個(gè)部分,高速計(jì)數(shù)部分和用戶接口部分。這兩部分是結(jié)合使用的。本小節(jié)主要介紹高速計(jì)數(shù)部分。用戶接口部分由一個(gè)中斷機(jī)制驅(qū)動(dòng)(

2、例如中斷允許(UIE)、激活(UIF)、屏蔽(UID)或是自動(dòng)允許中斷(AutoStart),用于在高速計(jì)數(shù)器到達(dá)設(shè)定條件時(shí)驅(qū)動(dòng)執(zhí)行指定的用戶中斷程序,本節(jié)將簡(jiǎn)要介紹。該功能塊的參數(shù)見表7-17。表 7-17高速計(jì)數(shù)器功能塊參數(shù)列表參數(shù)參數(shù)類型數(shù)據(jù)類型描述HscCmdInputUSINT功能塊執(zhí)行、刷新等控制命令,見HSC命令參數(shù)HSCAppDataInputHSCAPPHSC應(yīng)用配置。通常只需配置一次。見HSC應(yīng)用數(shù)據(jù)結(jié)構(gòu)HSCStsInfoInputHSCSTSHSC動(dòng)態(tài)狀態(tài)。通常在HSC執(zhí)行周期里該狀態(tài)信息會(huì)持續(xù)更新,見HSC狀態(tài)信息數(shù)據(jù)結(jié)構(gòu)。PlsDataInputPLS可編程限位開關(guān)

3、數(shù)據(jù)(Programmable Limit Switch -PLS),用于設(shè)置HSC的附加高低及溢出設(shè)定值。見PLS數(shù)據(jù)類型。StsOutputUINTHSC功能塊執(zhí)行狀態(tài),見HSC狀態(tài)值HSC命令參數(shù)(HscCmd),見表7-18。表7-18HSC命令參數(shù)HSC命令命令描述0x00保留,未使用0x01執(zhí)行HSC:運(yùn)行HSC(如果HSC處于空閑模式且梯級(jí)使能);只更新HSC狀態(tài)信息(如果HSC處于運(yùn)行模式,且梯級(jí)使能)0x02停止HSC,如果HSC處于運(yùn)行模式,且梯級(jí)使能0x03上載或設(shè)置HSC應(yīng)用數(shù)據(jù)配置信息(如果梯級(jí)使能)0x04重置HSC累加值(如果梯級(jí)使能)說明:“0x”前綴表示十六進(jìn)

4、制數(shù)。HSCAPP數(shù)據(jù)類型(HSCAppData)的結(jié)構(gòu)見表7-19。表 7-19HSCAPP數(shù)據(jù)類型參數(shù)數(shù)據(jù)類型描述PLSEnableBOOL使能或停止可編程限位開關(guān)(PLS)HscIDUINT要驅(qū)動(dòng)的HSC編號(hào),見HSC ID定義HSCModeUINT要使用的HSC計(jì)數(shù)模式,見HSC模式AccumulatorDINT設(shè)置計(jì)數(shù)器的計(jì)數(shù)初始值HPSettingDINT高預(yù)設(shè)值LPSettingDINT低預(yù)設(shè)值OFSettingDINT溢出設(shè)置值UFSettingDINT下溢設(shè)置值OutputMaskUDINT設(shè)置輸出掩碼HPOutputUDINT高預(yù)設(shè)值的32位輸出值LPOutputUDINT

5、低預(yù)設(shè)值的32位輸出值說明:OutputMask指令的作用是屏蔽HSC輸出的數(shù)據(jù)中的某幾位,以獲取期望的數(shù)據(jù)輸出位。例如,對(duì)于24點(diǎn)的Micro830,有9點(diǎn)本地(控制器自帶)輸出點(diǎn)用于輸出數(shù)據(jù),當(dāng)不需輸出第零位的數(shù)據(jù)時(shí),可以把OutputMask中的第零位置0即可。這樣即使輸出數(shù)據(jù)上的第零位為1,也不會(huì)輸出。HscID、HSCMode、HPSetting、LPSetting、OFSetting、UFSetting六個(gè)參數(shù)必須設(shè)置,否則將提示HSC配置信息錯(cuò)誤。上溢值最大為+2,147,483,647,下溢值最小為-2,147,483,647,預(yù)設(shè)值大小須對(duì)應(yīng),即高預(yù)設(shè)值不能比上溢值大,低預(yù)設(shè)

6、值不能比下溢值小。當(dāng)HSC計(jì)數(shù)值達(dá)到上溢值時(shí),會(huì)將計(jì)數(shù)值置為下溢值繼續(xù)計(jì)數(shù);達(dá)到下溢值時(shí)類似。HSC應(yīng)用數(shù)據(jù)是HSC組態(tài)數(shù)據(jù),它需要在啟動(dòng)HSC前組態(tài)完畢。在HSC計(jì)數(shù)期間,該數(shù)據(jù)不能改變,除非需要重載HSC組態(tài)信息(在HscCmd中寫03命令)。但是,在HSC計(jì)數(shù)期間的HSC應(yīng)用數(shù)據(jù)改變請(qǐng)求將被忽略。HSC ID定義見表7-20。表 7-20 HSC ID定義位描述1513HSC的模式類型:0x00本地;0x01擴(kuò)展式(暫無);0x02嵌入式128模塊的插槽ID:0x00本地;0x01-0x1F擴(kuò)展式(暫無)模塊的ID0x01-0x05嵌入式模塊的ID70模塊內(nèi)部的HSC ID:0x00-0

7、x0F本地;0x00-0x07擴(kuò)展式(暫無);0x00-0x07嵌入式注意:對(duì)于初始版本的Connected Components Workbench只支持0x00-0x05范圍的ID。使用說明:將表中各位上符合實(shí)際要使用的HSC的信息數(shù)據(jù)組合為一個(gè)無符號(hào)整數(shù),寫到HSCAppData的HscID位置上即可。例如,選擇控制器自帶的第一個(gè)HSC接口,即1513位為0,表示本地的I/O;128位為0,表示本地的通道,非擴(kuò)展或嵌入模塊;70位為0,表示選擇第0個(gè)HSC,這樣最終就在定義的HSCAPP類型的輸入上的HscID位置上寫入0即可。HSC模式(HSCMode),見表7-21所示。表 7-21

8、 HSC模式模式功能模式功能0遞增計(jì)數(shù)5有“重置”和“保持”控制信號(hào)的兩輸入計(jì)數(shù)1有外部“重置”和“保持”控制信號(hào)的遞增計(jì)數(shù)6正交計(jì)數(shù)(編碼形式,有A,B兩相脈沖)2雙向計(jì)數(shù),并帶有“外部方向”控制信號(hào)7有“重置”和“保持”控制信號(hào)的正交計(jì)數(shù)3有“重置”和“保持”,且?guī)А巴獠糠较颉笨刂菩盘?hào)的雙向計(jì)數(shù)8Quad X4 計(jì)數(shù)器4兩輸入計(jì)數(shù)(一個(gè)加法計(jì)數(shù)輸入信號(hào),一個(gè)減法計(jì)數(shù)輸入信號(hào))9有“重置”和“保持”控制信號(hào)的Quad X4 計(jì)數(shù)器注意:HSC3,HSC4,和HSC5只支持0,2,4,6,和8模式。HSC0,HSC1和HSC2支持所有模式。HSCSTS數(shù)據(jù)類型結(jié)構(gòu)(HSCStsInfo),見表

9、7-22,它可以顯示HSC的各種狀態(tài),大多是只讀數(shù)據(jù)。其中的一些標(biāo)志可以用于邏輯編程。表 7-22 HSCSTS數(shù)據(jù)類型參數(shù)數(shù)據(jù)類型描述CountEnableBOOL使能或停止HSC計(jì)數(shù)ErrorDetectedBOOL非零表示檢測(cè)到錯(cuò)誤CountUpFlagBOOL遞增計(jì)數(shù)標(biāo)志CountDwnFlagBOOL遞減計(jì)數(shù)標(biāo)志Mode1DoneBOOLHSC是1(1A)模式或2(1B)模式,且累加值遞增計(jì)數(shù)至HP的值。OVFBOOL檢測(cè)到上溢UNFBOOL檢測(cè)到下溢CountDirBOOL1:遞增計(jì)數(shù),0:遞減計(jì)數(shù)HPReachedBOOL達(dá)到高預(yù)設(shè)值LPReachedBOOL達(dá)到低預(yù)設(shè)值OFCa

10、useInterBOOL上溢導(dǎo)致HSC中斷UFCauseInterBOOL下溢導(dǎo)致HSC中斷HPCauseInterBOOL達(dá)到高預(yù)設(shè)值,導(dǎo)致HSC中斷LPCauseInterBOOL達(dá)到低預(yù)設(shè)值,導(dǎo)致HSC中斷PlsPositionUINT可編程限位開關(guān)(PLS)的位置ErrorCodeUINT錯(cuò)誤代碼,見HSC錯(cuò)誤代碼AccumulatorDINT讀取累加器實(shí)際值HPDINT最新的高預(yù)設(shè)值設(shè)定,可能由PLS功能更新LPDINT最新的低預(yù)設(shè)值設(shè)定,可能由PLS功能更新HPOutputUDINT最新高預(yù)設(shè)輸出值設(shè)定,可能由PLS功能更新LPOutputUDINT最新低預(yù)設(shè)輸出值設(shè)定,可能由PL

11、S功能更新關(guān)于HSC狀態(tài)信息數(shù)據(jù)結(jié)構(gòu)(HSCSTS)說明如下。在HSC執(zhí)行的周期里,HSC功能塊在“0x01”(HscCmd)命令下,狀態(tài)將會(huì)持續(xù)更新。在HSC執(zhí)行的周期里,如果發(fā)生錯(cuò)誤,錯(cuò)誤檢測(cè)標(biāo)志將會(huì)打開,不同的錯(cuò)誤情況對(duì)應(yīng)見表7-23所示的錯(cuò)誤代碼。表 7-23 HSC錯(cuò)誤代碼錯(cuò)誤代碼位HSC計(jì)數(shù)時(shí)錯(cuò)誤代碼錯(cuò)誤描述158(高字節(jié))0255高字節(jié)非零表示HSC錯(cuò)誤由PLS數(shù)據(jù)設(shè)置導(dǎo)致。高字節(jié)的數(shù)值表示觸發(fā)錯(cuò)誤PLS數(shù)據(jù)中數(shù)組編號(hào)70(低字節(jié))0x00無錯(cuò)誤0x01無效HSC計(jì)數(shù)模式0x02無效高預(yù)設(shè)值0x03無效上溢0x04無效下溢0x05無PLS數(shù)據(jù)PLS數(shù)據(jù)結(jié)構(gòu)(PlsData)可編程

12、限位開關(guān)(PLS)數(shù)據(jù)是一組數(shù)組,每組數(shù)組包括高低預(yù)設(shè)值以及上下溢出值。PLS功能是HSC操作模式的附加設(shè)置。當(dāng)允許該模式操作時(shí)(PLSEnable選通),每次達(dá)到一個(gè)預(yù)設(shè)值,預(yù)設(shè)和輸出數(shù)據(jù)將通過用戶提供的數(shù)據(jù)更新(即PLS數(shù)據(jù)中下一組數(shù)組的設(shè)定值)。所以,當(dāng)需要對(duì)同一個(gè)HSC使用不同的設(shè)定值時(shí),您可以通過提供一個(gè)包含將要使用的數(shù)據(jù)的PLS數(shù)據(jù)機(jī)構(gòu)實(shí)現(xiàn)。PLS數(shù)據(jù)結(jié)構(gòu)是一個(gè)大小可變的數(shù)組。注意,一個(gè)PLS數(shù)據(jù)體的數(shù)組個(gè)數(shù)不能大于255。當(dāng)PLS沒有使能時(shí),PLS數(shù)據(jù)結(jié)構(gòu)可以不用定義。表7-24列出每組數(shù)組的基本元素。表7-24 PLS數(shù)據(jù)結(jié)構(gòu)元素作用表命令元素?cái)?shù)據(jù)類型元素描述字01DINT高預(yù)

13、設(shè)值設(shè)置字23DINT低預(yù)設(shè)值設(shè)置字45UDINT高位輸出預(yù)設(shè)值字67UDINT低位輸出預(yù)設(shè)值HSC狀態(tài)值代碼(Sts上對(duì)應(yīng)的輸出),見表7-25。 表 7-25 HSC狀態(tài)值HSC狀態(tài)值狀態(tài)描述0x00無動(dòng)作(沒有使能)0x01HSC功能塊執(zhí)行成功0x02HSC命令無效0x03HSC ID超過有效范圍0x04HSC配置錯(cuò)誤在使用HSC計(jì)數(shù)時(shí),注意設(shè)置濾波參數(shù),否則HSC將無法正常計(jì)數(shù)。該參數(shù)在硬件信息中使用的是HSC0如圖7-39所示,其輸入編號(hào)是input01。圖 7-39 設(shè)置濾波參數(shù)高數(shù)計(jì)數(shù)器一般用于計(jì)數(shù)達(dá)到要求后觸發(fā)中斷,進(jìn)而處理用戶自定義的中斷程序。中斷的設(shè)置在硬件信息中的Inte

14、rrupts中能夠找到。如圖7-40所示。圖 7-40 HSC中斷設(shè)置圖中,選擇的是HSC類型的用戶中斷,觸發(fā)該中斷的是HSC0,將要執(zhí)行的中斷程序是HSCa(用戶自定義)。該對(duì)話框中還看到Auto Start參數(shù),當(dāng)它被置為真時(shí),只要控制器進(jìn)入任何“運(yùn)行”或“測(cè)試”模式,HSC類型的用戶中斷將自動(dòng)執(zhí)行。該位的設(shè)置將作為程序的一部分被存儲(chǔ)起來?!癕ask for IV”表示當(dāng)該位置假(0)時(shí),程序?qū)⒉粓?zhí)行檢測(cè)到的上溢中斷命令,該位可以由用戶程序設(shè)置,且它的值在整個(gè)上電周期內(nèi)將會(huì)保持住。類似的“Mask for IN”、“Mask for IH”和“Mask for IL”分別表示屏蔽下溢中斷、

15、高設(shè)置值中斷和低設(shè)置值中斷。7.4.2 HSC狀態(tài)設(shè)置圖 7-41高速計(jì)數(shù)器狀態(tài)設(shè)置功能塊高速計(jì)數(shù)器狀態(tài)設(shè)置功能塊用于改變HSC計(jì)數(shù)狀態(tài)。注意:當(dāng)HSC功能塊不計(jì)數(shù)時(shí)(停止)才能調(diào)用該設(shè)置功能塊,否則輸入?yún)?shù)將會(huì)持續(xù)更新且任何HSC_SET_STS功能塊做出的設(shè)置都會(huì)被忽略。該功能塊的參數(shù)見表7-26。表 7-26高速計(jì)數(shù)器狀態(tài)設(shè)置功能塊參數(shù)列表參數(shù)參數(shù)類型數(shù)據(jù)類型描述HscIDInputUINT見HSC應(yīng)用數(shù)據(jù)結(jié)構(gòu)欲設(shè)置的HSC狀態(tài)Mode1DoneInputBOOL計(jì)數(shù)模式1A或1B已完成HPReachedInputBOOL達(dá)到高預(yù)設(shè)值,當(dāng)HSC不計(jì)數(shù)時(shí),該位可重置為假。LPReached

16、InputBOOL達(dá)到低預(yù)設(shè)值,當(dāng)HSC不計(jì)數(shù)時(shí),該位可重置為假。OFOccurredInputBOOL發(fā)生上溢,當(dāng)需要時(shí),該位可置為假UFOccurredInputBOOL發(fā)生下溢,當(dāng)需要時(shí),該位可置為假StsOutputUINT見HSC狀態(tài)值ENOOutputBOOL使能輸出7.4.3 HSC的應(yīng)用1.硬件連線將PTO口脈沖輸出口O.00直接接到HSC高速計(jì)數(shù)器I.00口上,使用HSC計(jì)數(shù)PTO口的脈沖個(gè)數(shù),硬件接完以后需要對(duì)數(shù)字量輸入I.00口進(jìn)行配置方能計(jì)數(shù)到高速脈沖個(gè)數(shù)。打開CCW軟件,雙擊Micro850圖標(biāo),點(diǎn)擊Embedded I/O口,將輸入0-1號(hào)口選為5us,配置方法如圖7-42所示。圖 7-42配置高速計(jì)數(shù)器脈沖輸入口2.創(chuàng)建HSC模塊在CCW中建立一個(gè)例程,例程中創(chuàng)建HSC模塊,創(chuàng)建相應(yīng)的變量,并設(shè)置初始值,初始值的設(shè)置如圖7-43所示。圖 7-43配置高速計(jì)數(shù)器脈沖輸入口其中HscID選擇0,表示選擇HSC0計(jì)數(shù)器,使用Micro850的嵌入式輸入口0-3,HscMode設(shè)置為2,選擇模式2a,即嵌入式輸入口I.00作為增/減計(jì)數(shù)器,I.01作為方向選擇位,I.01置1時(shí)使用加計(jì)數(shù)器,置0時(shí)使用減計(jì)數(shù)器。HPSetting設(shè)置為100000,表示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論