職業(yè)特工0
級(jí)別: 探索解密
![]() |
圖片:
![]() 如題,那位大神知道問題出在哪里嗎? [ 此帖被職業(yè)特工0在2022-03-30 17:19重新編輯 ] |
---|---|
|
zhangqi_1234
級(jí)別: 略有小成
![]() |
嚴(yán)格地說,不能這樣使用C251,C251是外部高速計(jì)數(shù)器,采用中斷方式工作。普通的內(nèi)部計(jì)數(shù)器可以這樣使用 |
---|---|
|
zhangqi_1234
級(jí)別: 略有小成
![]() |
既然你認(rèn)為C251這么用沒問題,那么你只把這段程序拿出來是幾個(gè)意思? |
---|---|
|
zhangqi_1234
級(jí)別: 略有小成
![]() |
我看你發(fā)的程序,我個(gè)人認(rèn)為,程序設(shè)計(jì)者使用C251意思是:用它來接收X0和X1端的脈沖。當(dāng)X0的脈沖超前X1脈沖90度時(shí),進(jìn)行加計(jì)數(shù),當(dāng)X0脈沖滯后X1脈沖90度時(shí),進(jìn)行減計(jì)數(shù)。當(dāng)計(jì)數(shù)值等于1時(shí),表明X0端和X1端各自輸入了一個(gè)脈沖,兩個(gè)脈沖相差90度,X0端超前X1端90度。然后C251常開觸頭閉合,C251閉合的第一個(gè)掃描周期使D31自加1,然后C251復(fù)位,C251常開觸頭斷開。C251重新從零開始計(jì)數(shù),計(jì)數(shù)值等于1又開始上述動(dòng)作,如此周而復(fù)始。然后把D31轉(zhuǎn)存D33,D33轉(zhuǎn)換成實(shí)數(shù)存D55,D55又經(jīng)過一系列實(shí)數(shù)運(yùn)算,得出的結(jié)果可能是某零件的長(zhǎng)度。那么你說的C251不斷累加計(jì)數(shù),而沒有復(fù)位的這種故障,很有可能是X0端輸入的脈沖不是超前X1端脈沖90度,而是滯后X1端90度,結(jié)果導(dǎo)致C251減計(jì)數(shù),計(jì)數(shù)結(jié)果為負(fù)數(shù),始終不等于1,無法實(shí)現(xiàn)復(fù)位。這個(gè)屬于PLC的X0端和X1端接編碼器的故障 ,不是PLC的故障。還有一種可能,就是這樣編程使用C251有個(gè)前提條件:X0和X1端輸入的脈沖周期不能小于PLC的掃描周期,否則會(huì)導(dǎo)致C251不斷累加計(jì)數(shù)而不會(huì)復(fù)位。另外,需要指出的是,你開始只拿部分程序出來,而不說明PLC的X0和X1端接的什么,別人也很難作出判斷。 [ 此帖被zhangqi_1234在2022-03-30 20:02重新編輯 ] |
---|---|
本帖最近評(píng)分記錄: |
zhangqi_1234
級(jí)別: 略有小成
![]() |
補(bǔ)充一下,物體運(yùn)動(dòng)速度加快,編碼器輸出脈沖頻率升高,脈沖周期縮短。這種編程使用C251的方法,一般只適用于低速運(yùn)動(dòng)物體。 |
---|---|
|
zhangqi_1234
級(jí)別: 略有小成
![]() |
你只是解決了C251不能復(fù)位的問題,但是沒有徹底解決問題!首先要搞清楚用C251和編碼器是干什么的,那是用來作測(cè)量的,如果編碼器出了故障,或者運(yùn)動(dòng)物體運(yùn)動(dòng)速度加快,導(dǎo)致計(jì)數(shù)脈沖頻率上升,很可能就會(huì)影響測(cè)量精度。當(dāng)然,如果只是用來作粗略測(cè)量,不考慮誤差,那么還是可以采用區(qū)間比較指令代替C251常開觸頭使C251復(fù)位。 |
---|---|
|