shqpxcy
級(jí)別: 略有小成
|
假設(shè)在一段直線距離上我設(shè)置了11個(gè)點(diǎn),其中1個(gè)原點(diǎn),依次等距離設(shè)置10個(gè)點(diǎn)。要求當(dāng)條件滿足時(shí)(假設(shè)m0.1=1)步進(jìn)電機(jī)從原點(diǎn)先到1#點(diǎn),假設(shè)當(dāng)m0.2=1時(shí)再返回原點(diǎn),當(dāng)下一次m0.1=1,步進(jìn)電機(jī)從原點(diǎn)到2#點(diǎn),當(dāng)m0.2=1再返回原點(diǎn)。依此類推。 單個(gè)點(diǎn)的程序,我知道怎么編,用什么指令把它們集合在一起?或者說有什么方法可以快速的設(shè)置? |
---|---|
|
sjm213
有小知識(shí),無大學(xué)問。
級(jí)別: 論壇版主
|
可以用間接尋址; LD SM0.0 ENCO MW0, MB3 MOVW +2, MW10 *I MW2, MW10 MOVD &VB100, AC1 ITDMW10, AC0 +D AC0, AC1 MOVW *AC1, VW200 ------------------------------ M0.3~M0.7、M2.0~M2.7不要再次使用; M1.0~M1.7和M0.0~M0.2分別為11個(gè)點(diǎn),分別對(duì)應(yīng)地址是VW100、VW102……VW120,這11個(gè)地址儲(chǔ)存11個(gè)位置數(shù)據(jù); VW200是電機(jī)目標(biāo)地址; 這樣每個(gè)點(diǎn)ON時(shí)它對(duì)應(yīng)的地址數(shù)據(jù)就到了VW200了。 |
---|---|
|
sjm213
有小知識(shí),無大學(xué)問。
級(jí)別: 論壇版主
|
因?yàn)榈刂吩O(shè)定是按照16位長(zhǎng)度預(yù)設(shè)的(-32768~+32767),所以用的是VW***,這樣的話直接增1會(huì)造成地址重疊; 如果你設(shè)定的數(shù)很小,只需要255以內(nèi)的,那么就不需要×2,但是儲(chǔ)存地址要變成VB100、VB101……連續(xù)的11個(gè)地址。 |
---|---|
|