下面說兩個(gè)程序樣例吧
LD W0.00
@PRV(881) #0010 #0000 D100/讀計(jì)數(shù)器當(dāng)前值
@CTBL(882) #0000 #0000 D0產(chǎn)生比較表并登錄比較
MOV(021) &2 D0比較數(shù)量設(shè)為2個(gè)
MOV(021) &3000 D1第一個(gè)目標(biāo)值
MOV(021) &0 D2
MOV(021) &8 D3產(chǎn)生的中斷程序號,要寫相應(yīng)的中斷程序
MOV(021) &5000 D4第二個(gè)目標(biāo)值
MOV(021) &0 D5
MOV(021) &9 D6產(chǎn)生的中斷程序號,
LD A531.00計(jì)數(shù)器復(fù)位,并停止表比較,表比較停止后,由表比較產(chǎn)生的中斷也停止了!
RSET 100.00
RSET 100.01
ctbl指令,分兩種,一種是目標(biāo)值,一種是范圍,輸出有兩個(gè)方式,0000和0001直接就開始了,0002和0003要配合ini指令輸出,數(shù)值跟表數(shù)據(jù)對應(yīng)達(dá)到的時(shí)候,然后通過中斷輸出,停止比較用ini指令!中斷任務(wù)另行了解!
prv是讀出當(dāng)前值,用A270也可以!
A531.00設(shè)為1的時(shí)候如果外部硬件信號Z相為1,計(jì)數(shù)器清零(Z相加軟件復(fù)位),直接將A531.01置1也可以清零(軟件復(fù)位)如果加了重啟比較,就是把ctbl指令重新啟動(dòng)一次!,當(dāng)然用ini也可以清零。
掉電存儲(chǔ)的思路是實(shí)時(shí)將A270的數(shù)據(jù)保存到一個(gè)掉電H區(qū),上電第一個(gè)瞬間用ini變更一下。
硬件方面有(AB相,脈沖加方向)(差分信號為5V就是正負(fù)信號同時(shí)關(guān)斷,集電極開路為關(guān)斷正極pnp或關(guān)斷負(fù)極npn)他們可以用高速光藕來轉(zhuǎn)換,也可以用AM26ls31(32)來轉(zhuǎn)換下面就是搜索網(wǎng)址
http://www.baidu.com/s?tn=max2_cb&bs=Am26ls32&f=8&wd=Am26ls31&inputT=1265以上內(nèi)容來自本人原創(chuàng),且通過實(shí)際工程驗(yàn)證!