ztzdh
風(fēng)神
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 42 個(gè)
工控威望: 267 點(diǎn)
下載積分: 962 分
在線時(shí)間: 704(小時(shí))
注冊(cè)時(shí)間: 2007-12-19
最后登錄: 2024-12-23
查看ztzdh的 主題 / 回貼
樓主  發(fā)表于: 2013-05-07 19:55
我用的是西門(mén)子S7-200PLC,6ES7 214-2BD23-0XB8高速計(jì)數(shù)器0測(cè)的是增量型編碼器的脈沖數(shù),高速計(jì)數(shù)器0工作在模式10,我想用高速計(jì)數(shù)器的外部復(fù)位中斷,這個(gè)中斷我不想編碼器每轉(zhuǎn)一圈都去捕捉編碼器的Z軸通過(guò)復(fù)位中斷使高速計(jì)數(shù)器復(fù)位,而是想讓編碼器轉(zhuǎn)過(guò)幾圈后,才去捕捉編碼器的Z軸,對(duì)高速計(jì)數(shù)器進(jìn)行復(fù)位,請(qǐng)問(wèn)哪位高手知道該怎么編程?謝謝了!
西門(mén)子論壇的是這樣回答的:HSC0外部復(fù)位信號(hào)為高電平時(shí), 會(huì)觸發(fā)CPU200的28號(hào)中斷,而并非直接清零HSC0的當(dāng)前值。
您如果要使用此中斷,首先需要在初始化程序中做全局開(kāi)中斷和為28號(hào)中斷事件分配中斷程序,您
需要使用到的指令是ENI和ATCH。(詳細(xì)請(qǐng)參考《S7-200PLC系統(tǒng)手冊(cè)》第六章指令集,中斷指令部分)
假設(shè)您使用ATCH為28號(hào)中斷分配中斷服務(wù)程序INIT_0,您需要在程序INIT_0編寫(xiě)程序才能完成清零功能。您需要向SMD38賦值0,向SMB37賦值16#C0, 并再次執(zhí)行HSC指令。這些特殊寄存器的含義,您可以查看《S7-200PLC系統(tǒng)手冊(cè)》附錄部分。這三條指令每執(zhí)行一次,即對(duì)HSC0當(dāng)前值清零一次。
關(guān)于實(shí)現(xiàn)多圈清零,您可以在INIT_0中使用計(jì)數(shù)器,INIT_0每次執(zhí)行,計(jì)數(shù)器加一一次。當(dāng)計(jì)數(shù)器等于某個(gè)數(shù)值時(shí),才執(zhí)行一次上一段文字描述的清零程序。
按照這個(gè)編程之后發(fā)現(xiàn),還是一樣每圈清零。
sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5213 個(gè)
工控威望: 7437 點(diǎn)
下載積分: 159075 分
在線時(shí)間: 3173(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-12-28
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2013-05-08 08:51
如何控制建議內(nèi)部復(fù)位