西門子s120 裝置能否直接讀取編碼器的實時脈沖數(shù),以便用plc 控制器來實現(xiàn)控制、定位等功能。
回答:
s120 裝置中參數(shù)r0482可顯示編碼器的實際增量值。r2521是驅(qū)動在激活基本定位功能后的實際位置值,單位是lu。r0482 是32位的雙字,參考s120 list manual中的功能圖4704:
圖1.
可以通過拆解r0482 的方法得到實時的脈沖數(shù)。具體方法如下:
1.從bit0 – bitn-1 表示脈沖細分補全碼,即當實際位置處于兩個脈沖之間時,對其進行細分,從而代表的兩個脈沖間的位置值。當下一個脈沖到達后,向上進位且重新計數(shù);
2.從bitn – bitn+m-1表示編碼器一轉(zhuǎn)以內(nèi)的整脈沖個數(shù);
3.從bitn+m到bit31為當前實際轉(zhuǎn)數(shù),編碼器每旋轉(zhuǎn)一周由整脈沖數(shù)向上進位得到;
4.m為p0408編碼器脈沖數(shù)對應的2進制位數(shù),如2048對應m=11;n 為 p0418中設定的脈沖細分率。
圖2.
下面舉例說明在plc中如何得到實際編碼器的脈沖個數(shù):
1.建立plc 和s120 之間的dp 通訊.并設相關參數(shù).
圖3.
2.plc 系統(tǒng)編程
pid256通訊連接的是r0482,此編碼器為2048 脈沖每轉(zhuǎn),細分率為11(p0408=2048,p0418=11)。
network1 是編碼器的實際脈沖數(shù),由r0482 右移11 位計算得到。
network2是編碼器脈沖細分補全碼,由r0482 低11 位計算得到,它代表兩個脈沖間的位置細分值。
圖4.
圖5表示旋轉(zhuǎn)兩圈后編碼器的實際脈沖增值。注: 圖中的位置值為大約位置。
圖5.
注意: r0482這個數(shù)值不能掉電保存。每次掉電恢復后數(shù)值為零,所以其反映的是和上次掉電前的位置偏差值,不是實際位置( 與編碼器類型無關)。