說(shuō)說(shuō)200 smart高速計(jì)數(shù)器的計(jì)數(shù)
以前,做過(guò)幾次200 PLC的高速計(jì)數(shù)器應(yīng)用,連接的是編碼器或者光柵尺之類,深深對(duì)它比較穩(wěn)定的特性記憶猶新。200雖然已離我們漸行漸遠(yuǎn)了,而200 smart PL的高速計(jì)數(shù)器性能或者編程情況又將如何?
今拿了一個(gè)第三方的增量型旋轉(zhuǎn)編碼器來(lái)測(cè)試,看在200 smart PLC下如何能夠穩(wěn)定的運(yùn)行。測(cè)試高速計(jì)數(shù)功能的增量型編碼器電壓24V,1000線,A/B正交;Z相零脈沖輸出型,這對(duì)于使用過(guò)用PLC作為高速輸入載體的同事,是非常熟悉不過(guò)的事情。
200smart PLC本體集成了4個(gè)高速計(jì)數(shù)器(HSC0~HSC3),如果單相輸入時(shí),最高計(jì)數(shù)頻率達(dá)200K hz,這在同類型小型PLC中也算是比較高的了,并且允許輸入NPN;PNP輸出型的高速計(jì)數(shù)器,所支持的電壓有24V和部分5V的產(chǎn)品。200 smart PLC沿用原200對(duì)高速計(jì)數(shù)器的向?qū)Чδ芊奖阌脩羰褂茫@對(duì)剛剛開(kāi)始使用者是一個(gè)好辦法,把一些所謂比較復(fù)雜的控制用向?qū)Х绞郊右院?jiǎn)化。既然是說(shuō)200 smart PLC的高速計(jì)數(shù)器,那先需要熟悉高速計(jì)數(shù)器的工作模式。
200 smart PLC高速計(jì)數(shù)器的工作模式:
1)單相高速計(jì)數(shù)器,內(nèi)部方向控制
2)單相高速計(jì)數(shù)器,外部方向控制
3)雙向增、減高速計(jì)數(shù)器,雙路高速脈沖輸入
4)A/B正交高速脈沖計(jì)數(shù)器
上述4類高速輸入模式的每一類還可以分:
1) 無(wú)復(fù)位、無(wú)啟動(dòng)輸入
2) 有復(fù)位、無(wú)啟動(dòng)輸入
3) 有復(fù)位、有啟動(dòng)輸入
其中,HSC0和HSC2支持8種高速計(jì)數(shù)器模式(0、1、3、4、6、7、9、10),HSC1和HSC3僅僅支持模式(0)
下面,我用向?qū)У姆绞骄庉嬕粋(gè)高速計(jì)數(shù)器控制程序,根據(jù)高速計(jì)數(shù)器外部輸入元件A/B正交型編碼器,選擇所對(duì)應(yīng)的高速計(jì)數(shù)器號(hào),打開(kāi)200 smart 軟件,選擇一款與實(shí)際PLC型號(hào)一致的cpu,CR60。點(diǎn)擊“工具”按鈕,軟件上部的工具欄中出現(xiàn)“高速計(jì)數(shù)器”向?qū),選擇高速計(jì)數(shù)器模式0或(2),點(diǎn)擊“下一頁(yè)”按鈕,選擇高速計(jì)數(shù)器名稱,這里選擇默認(rèn)名稱,點(diǎn)擊“下一頁(yè)”,這里 選擇模式,因?yàn)槲业母咚佥斎霝锳/B正交型編碼器,只能選擇模式9、10,這里選擇模式9,圖示:A/B正交,無(wú)復(fù)位輸入(不連接Z相輸入)
點(diǎn)擊“下一頁(yè)”,定義高速計(jì)數(shù)器子程序名稱,這里選擇默認(rèn)名稱,在“值”選項(xiàng)中先設(shè)置“預(yù)設(shè)值”= 10000,不設(shè)置“當(dāng)前值”,在“選項(xiàng)”的輸入初始計(jì)數(shù)方向設(shè)置為“上”,計(jì)數(shù)速率選擇1倍頻方式,圖示:
點(diǎn)擊“下一頁(yè)”選擇“中斷”,這里選擇“當(dāng)前值等于預(yù)設(shè)值(CV = PV)中斷,并產(chǎn)生一個(gè)中斷源,圖示:
點(diǎn)擊“下一頁(yè)”,不選擇“步”,直接點(diǎn)擊“下一頁(yè)”,在“組件”中可以看到之前用向?qū)傻胤阶映绦蚝椭袛喑绦,圖示:
點(diǎn)擊“下一頁(yè)”,進(jìn)入“映射”,這個(gè)窗口主要是對(duì)外部連接的一些定義,輸入端子,其中A相連接I0.0;B相連接I0.1,其它設(shè)置在“系統(tǒng)塊”中可以修改,圖示:
點(diǎn)擊“下一頁(yè)”,完成高速計(jì)數(shù)器向?qū),點(diǎn)擊“生成”,圖示:
向?qū)瓿珊螅c(diǎn)開(kāi)左側(cè)目錄樹(shù)下的“程序塊”,系統(tǒng)已經(jīng)自動(dòng)映射了一個(gè)高速計(jì)數(shù)器子程序和一個(gè)當(dāng)前值等于預(yù)設(shè)值的中斷程序,圖示:
用戶僅僅需要調(diào)用一個(gè)初始化高速計(jì)數(shù)器子程序及中斷程序就可以使用高速計(jì)數(shù)器功能了,用SM0.1調(diào)用初始化高速計(jì)數(shù)器子程序,圖示:
我這里先做一個(gè)當(dāng)高速計(jì)數(shù)器的當(dāng)前值等于預(yù)設(shè)值時(shí),在中斷中啟動(dòng)Q0.0作為高速計(jì)數(shù)器數(shù)據(jù)達(dá)到時(shí)的標(biāo)記,并在主程序中允許隨意復(fù)位,圖示:
主程序復(fù)位程序,圖示:
選擇“系統(tǒng)塊”,打開(kāi)“數(shù)字量輸入”,將默認(rèn)6.4mS的刷新時(shí)間修改為3.2uS,并勾選“脈沖捕捉,圖示:
最后,連接外部編碼器接線、通訊連接線后,把程序編譯、下載到cpu中等待測(cè)試,借用西門(mén)子官方提供的CAD圖紙連接編碼器接線示意,圖示:
啟動(dòng)PLC運(yùn)行,為監(jiān)控高速計(jì)數(shù)器輸出數(shù)據(jù),新建“狀態(tài)圖表”,圖示:
當(dāng)前值等于10000個(gè)脈沖數(shù)后,立即進(jìn)入中斷置位了Q0.0,實(shí)驗(yàn)成功。
小結(jié):
無(wú)論是那種方式組態(tài)高速計(jì)數(shù)器(向?qū)Щ蛑苯淤x值給相應(yīng)的控制字、狀態(tài)字),其目的就是設(shè)置控制字SMB37;初始值SMD38;預(yù)設(shè)值SMD42;定義高速計(jì)數(shù)器模式;啟動(dòng)高速計(jì)數(shù)器號(hào),開(kāi)中斷這些基本步驟。高速計(jì)數(shù)器允許調(diào)用若干種類的中斷,參見(jiàn)中斷事件優(yōu)先級(jí)表單,關(guān)于各高速計(jì)數(shù)器中斷的含義及中斷號(hào)。設(shè)置完成與外部元件對(duì)應(yīng)的參數(shù)后(向?qū)е械挠成浯翱谟杏布B接地址),用SM0.1調(diào)用初始化子程序即可,如果需要實(shí)時(shí)調(diào)用高速計(jì)數(shù)器的當(dāng)前值,用MOV_DW將HC*傳送到一個(gè)數(shù)據(jù)寄存器中,當(dāng)然這個(gè)簡(jiǎn)單的傳送與程序的掃描機(jī)制關(guān)聯(lián)著刷新機(jī)制,這樣的調(diào)用建議在主程序中進(jìn)行,用戶在實(shí)際應(yīng)用中需要引起注意。
[ 此帖被wwcwwc在2017-06-17 11:39重新編輯 ]