wwcwwc
級別: VIP會員

精華主題: 0
發(fā)帖數(shù)量: 3393 個
工控威望: 3189 點
下載積分: 70387 分
在線時間: 1603(小時)
注冊時間: 2008-04-20
最后登錄: 2024-10-31
查看wwcwwc的 主題 / 回貼
樓主  發(fā)表于: 2017-06-17 11:23
說說200 smart高速計數(shù)器的計數(shù)

    以前,做過幾次200 PLC的高速計數(shù)器應用,連接的是編碼器或者光柵尺之類,深深對它比較穩(wěn)定的特性記憶猶新。200雖然已離我們漸行漸遠了,而200 smart PL的高速計數(shù)器性能或者編程情況又將如何?
   今拿了一個第三方的增量型旋轉編碼器來測試,看在200 smart PLC下如何能夠穩(wěn)定的運行。測試高速計數(shù)功能的增量型編碼器電壓24V,1000線,A/B正交;Z相零脈沖輸出型,這對于使用過用PLC作為高速輸入載體的同事,是非常熟悉不過的事情。
200smart PLC本體集成了4個高速計數(shù)器(HSC0~HSC3),如果單相輸入時,最高計數(shù)頻率達200K hz,這在同類型小型PLC中也算是比較高的了,并且允許輸入NPN;PNP輸出型的高速計數(shù)器,所支持的電壓有24V和部分5V的產品。200 smart PLC沿用原200對高速計數(shù)器的向導功能方便用戶使用,這對剛剛開始使用者是一個好辦法,把一些所謂比較復雜的控制用向導方式加以簡化。既然是說200 smart PLC的高速計數(shù)器,那先需要熟悉高速計數(shù)器的工作模式。
200 smart PLC高速計數(shù)器的工作模式:
1)單相高速計數(shù)器,內部方向控制
2)單相高速計數(shù)器,外部方向控制
3)雙向增、減高速計數(shù)器,雙路高速脈沖輸入
4)A/B正交高速脈沖計數(shù)器
上述4類高速輸入模式的每一類還可以分:
1)    無復位、無啟動輸入
2)    有復位、無啟動輸入
3)    有復位、有啟動輸入
其中,HSC0和HSC2支持8種高速計數(shù)器模式(0、1、3、4、6、7、9、10),HSC1和HSC3僅僅支持模式(0)
下面,我用向導的方式編輯一個高速計數(shù)器控制程序,根據(jù)高速計數(shù)器外部輸入元件A/B正交型編碼器,選擇所對應的高速計數(shù)器號,打開200 smart 軟件,選擇一款與實際PLC型號一致的cpu,CR60。點擊“工具”按鈕,軟件上部的工具欄中出現(xiàn)“高速計數(shù)器”向導,選擇高速計數(shù)器模式0或(2),點擊“下一頁”按鈕,選擇高速計數(shù)器名稱,這里選擇默認名稱,點擊“下一頁”,這里 選擇模式,因為我的高速輸入為A/B正交型編碼器,只能選擇模式9、10,這里選擇模式9,圖示:A/B正交,無復位輸入(不連接Z相輸入)

點擊“下一頁”,定義高速計數(shù)器子程序名稱,這里選擇默認名稱,在“值”選項中先設置“預設值”= 10000,不設置“當前值”,在“選項”的輸入初始計數(shù)方向設置為“上”,計數(shù)速率選擇1倍頻方式,圖示:

點擊“下一頁”選擇“中斷”,這里選擇“當前值等于預設值(CV = PV)中斷,并產生一個中斷源,圖示:

點擊“下一頁”,不選擇“步”,直接點擊“下一頁”,在“組件”中可以看到之前用向導生成地方子程序和中斷程序,圖示:

點擊“下一頁”,進入“映射”,這個窗口主要是對外部連接的一些定義,輸入端子,其中A相連接I0.0;B相連接I0.1,其它設置在“系統(tǒng)塊”中可以修改,圖示:

點擊“下一頁”,完成高速計數(shù)器向導,點擊“生成”,圖示:

向導完成后,點開左側目錄樹下的“程序塊”,系統(tǒng)已經自動映射了一個高速計數(shù)器子程序和一個當前值等于預設值的中斷程序,圖示:

用戶僅僅需要調用一個初始化高速計數(shù)器子程序及中斷程序就可以使用高速計數(shù)器功能了,用SM0.1調用初始化高速計數(shù)器子程序,圖示:

我這里先做一個當高速計數(shù)器的當前值等于預設值時,在中斷中啟動Q0.0作為高速計數(shù)器數(shù)據(jù)達到時的標記,并在主程序中允許隨意復位,圖示:

主程序復位程序,圖示:

選擇“系統(tǒng)塊”,打開“數(shù)字量輸入”,將默認6.4mS的刷新時間修改為3.2uS,并勾選“脈沖捕捉,圖示:

最后,連接外部編碼器接線、通訊連接線后,把程序編譯、下載到cpu中等待測試,借用西門子官方提供的CAD圖紙連接編碼器接線示意,圖示:

啟動PLC運行,為監(jiān)控高速計數(shù)器輸出數(shù)據(jù),新建“狀態(tài)圖表”,圖示:

當前值等于10000個脈沖數(shù)后,立即進入中斷置位了Q0.0,實驗成功。
小結:
無論是那種方式組態(tài)高速計數(shù)器(向導或直接賦值給相應的控制字、狀態(tài)字),其目的就是設置控制字SMB37;初始值SMD38;預設值SMD42;定義高速計數(shù)器模式;啟動高速計數(shù)器號,開中斷這些基本步驟。高速計數(shù)器允許調用若干種類的中斷,參見中斷事件優(yōu)先級表單,關于各高速計數(shù)器中斷的含義及中斷號。設置完成與外部元件對應的參數(shù)后(向導中的映射窗口有硬件連接地址),用SM0.1調用初始化子程序即可,如果需要實時調用高速計數(shù)器的當前值,用MOV_DW將HC*傳送到一個數(shù)據(jù)寄存器中,當然這個簡單的傳送與程序的掃描機制關聯(lián)著刷新機制,這樣的調用建議在主程序中進行,用戶在實際應用中需要引起注意。
[ 此帖被wwcwwc在2017-06-17 11:39重新編輯 ]
澤西1968
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 63 個
工控威望: 159 點
下載積分: 469 分
在線時間: 171(小時)
注冊時間: 2015-09-02
最后登錄: 2023-05-10
查看澤西1968的 主題 / 回貼
1樓  發(fā)表于: 2017-06-17 16:01
謝謝樓主,有時間慢慢研究下!