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