職業(yè)特工0
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 62 個
工控威望: 101 點
下載積分: 1018 分
在線時間: 26(小時)
注冊時間: 2021-12-08
最后登錄: 2022-12-30
查看職業(yè)特工0的 主題 / 回貼
樓主  發(fā)表于: 2022-03-29 16:20
圖片:
如題,那位大神知道問題出在哪里嗎?
[ 此帖被職業(yè)特工0在2022-03-30 17:19重新編輯 ]
附件: 鋼帶2線原始程序.rar (162 K) 下載次數(shù):31
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
zhangqi_1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-11-12
查看zhangqi_1234的 主題 / 回貼
1樓  發(fā)表于: 2022-03-29 18:25
嚴格地說,不能這樣使用C251,C251是外部高速計數(shù)器,采用中斷方式工作。普通的內(nèi)部計數(shù)器可以這樣使用
zhangqi_1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-11-12
查看zhangqi_1234的 主題 / 回貼
2樓  發(fā)表于: 2022-03-30 14:23
引用
引用第2樓職業(yè)特工0于2022-03-30 08:35發(fā)表的  :
一直這樣使用的,好幾年了,最近才出現(xiàn)這樣問題,我覺得程序沒問題,不知哪里出問題了?

既然你認為C251這么用沒問題,那么你只把這段程序拿出來是幾個意思?
zhangqi_1234
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 342 個
工控威望: 493 點
下載積分: 4015 分
在線時間: 250(小時)
注冊時間: 2013-03-22
最后登錄: 2024-11-12
查看zhangqi_1234的 主題 / 回貼
3樓  發(fā)表于: 2022-03-30 19:45
引用
引用第9樓職業(yè)特工0于2022-03-30 17:15發(fā)表的  :
整個程序

我看你發(fā)的程序,我個人認為,程序設計者使用C251意思是:用它來接收X0和X1端的脈沖。當X0的脈沖超前X1脈沖90度時,進行加計數(shù),當X0脈沖滯后X1脈沖90度時,進行減計數(shù)。當計數(shù)值等于1時,表明X0端和X1端各自輸入了一個脈沖,兩個脈沖相差90度,X0端超前X1端90度。然后C251常開觸頭閉合,C251閉合的第一個掃描周期使D31自加1,然后C251復位,C251常開觸頭斷開。C251重新從零開始計數(shù),計數(shù)值等于1又開始上述動作,如此周而復始。然后把D31轉存D33,D33轉換成實數(shù)存D55,D55又經(jīng)過一系列實數(shù)運算,得出的結果可能是某零件的長度。那么你說的C251不斷累加計數(shù),而沒有復位的這種故障,很有可能是X0端輸入的脈沖不是超前X1端脈沖90度,而是滯后X1端90度,結果導致C251減計數(shù),計數(shù)結果為負數(shù),始終不等于1,無法實現(xiàn)復位。這個屬于PLC的X0端和X1端接編碼器的故障 ,不是PLC的故障。還有一種可能,就是這樣編程使用C251有個前提條件:X0和X1端輸入的脈沖周期不能小于PLC的掃描周期,否則會導致C251不斷累加計數(shù)而不會復位。另外,需要指出的是,你開始只拿部分程序出來,而不說明PLC的X0和X1端接的什么,別人也很難作出判斷。
[ 此帖被zhangqi_1234在2022-03-30 20:02重新編輯 ]
本帖最近評分記錄:
  • 下載積分:+1(guochunyi) 熱心助人!
    zhangqi_1234
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 342 個
    工控威望: 493 點
    下載積分: 4015 分
    在線時間: 250(小時)
    注冊時間: 2013-03-22
    最后登錄: 2024-11-12
    查看zhangqi_1234的 主題 / 回貼
    4樓  發(fā)表于: 2022-03-30 20:10
    補充一下,物體運動速度加快,編碼器輸出脈沖頻率升高,脈沖周期縮短。這種編程使用C251的方法,一般只適用于低速運動物體。
    zhangqi_1234
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 342 個
    工控威望: 493 點
    下載積分: 4015 分
    在線時間: 250(小時)
    注冊時間: 2013-03-22
    最后登錄: 2024-11-12
    查看zhangqi_1234的 主題 / 回貼
    5樓  發(fā)表于: 2022-03-31 11:51
    引用
    引用第12樓職業(yè)特工0于2022-03-31 11:03發(fā)表的  :

    出問題時候,一直正計數(shù),您說的沒錯,可能是編碼器故障,另外一種情況不會出現(xiàn),因為出問題前一直這樣使用沒問,現(xiàn)在用比較指令復位C251,使用沒問題,謝謝解答。

    你只是解決了C251不能復位的問題,但是沒有徹底解決問題!首先要搞清楚用C251和編碼器是干什么的,那是用來作測量的,如果編碼器出了故障,或者運動物體運動速度加快,導致計數(shù)脈沖頻率上升,很可能就會影響測量精度。當然,如果只是用來作粗略測量,不考慮誤差,那么還是可以采用區(qū)間比較指令代替C251常開觸頭使C251復位。