引用
引用第10樓zhangqi_1234于2022-03-30 19:45發(fā)表的 :
我看你發(fā)的程序,我個(gè)人認為,程序設計者使用C251意思是:用它來(lái)接收X0和X1端的脈沖。當X0的脈沖超前X1脈沖90度時(shí),進(jìn)行加計數,當X0脈沖滯后X1脈沖90度時(shí),進(jìn)行減計數。當計數值等于1時(shí),表明X0端和X1端各自輸入了一個(gè)脈沖,兩個(gè)脈沖相差90度,X0端超前X1端90度。然后C251常開(kāi)觸頭閉合,C251閉合的第一個(gè)掃描周期使D31自加1,然后C251復位,C251常開(kāi)觸頭斷開(kāi)。C251重新從零開(kāi)始計數,計數值等于1又開(kāi)始上述動(dòng)作,如此周而復始。然后把D31轉存D33,D33轉換成實(shí)數存D55,D55又經(jīng)過(guò)一系列實(shí)數運算,得出的結果可能是某零件的長(cháng)度。那么你說(shuō)的C251不斷累加計數,而沒(méi)有復位的這種故障,很有可能是X0端輸入的脈沖不是超前X1端脈沖90度,而是滯后X1端90度,結果導致C251減計數,計數結果為負數,始終不等于1,無(wú)法實(shí)現復位。這個(gè)屬于PLC的X0端和X1端接編碼器的故障 ,不是PLC的故障。還有一種可能,就是這樣編程使用C251有個(gè)前提條件:X0和X1端輸入的脈沖周期不能小于PLC的掃描周期,否則會(huì )導致C251不斷累加計數而不會(huì )復位。另外,需要指出的是,你開(kāi)始只拿部分程序出來(lái),而不說(shuō)明PLC的X0和X1端接的什么,別人也很難作出判斷。
出問(wèn)題時(shí)候,一直正計數,您說(shuō)的沒(méi)錯,可能是編碼器故障,另外一種情況不會(huì )出現,因為出問(wèn)題前一直這樣使用沒(méi)問(wèn),現在用比較指令復位C251,使用沒(méi)問(wèn)題,謝謝解答。