shqpxcy
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 231 點(diǎn)
下載積分: 1249 分
在線時間: 61(小時)
注冊時間: 2012-05-30
最后登錄: 2024-08-13
查看shqpxcy的 主題 / 回貼
樓主  發(fā)表于: 2014-01-07 20:26
假設(shè)在一段直線距離上我設(shè)置了11個點(diǎn),其中1個原點(diǎn),依次等距離設(shè)置10個點(diǎn)。要求當(dāng)條件滿足時(假設(shè)m0.1=1)步進(jìn)電機(jī)從原點(diǎn)先到1#點(diǎn),假設(shè)當(dāng)m0.2=1時再返回原點(diǎn),當(dāng)下一次m0.1=1,步進(jìn)電機(jī)從原點(diǎn)到2#點(diǎn),當(dāng)m0.2=1再返回原點(diǎn)。依此類推。
單個點(diǎn)的程序,我知道怎么編,用什么指令把它們集合在一起?或者說有什么方法可以快速的設(shè)置?
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個
工控威望: 7436 點(diǎn)
下載積分: 159053 分
在線時間: 3173(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-26
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2014-01-07 23:43
可以用間接尋址;
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個點(diǎn),分別對應(yīng)地址是VW100、VW102……VW120,這11個地址儲存11個位置數(shù)據(jù);
VW200是電機(jī)目標(biāo)地址;
這樣每個點(diǎn)ON時它對應(yīng)的地址數(shù)據(jù)就到了VW200了。
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5212 個
工控威望: 7436 點(diǎn)
下載積分: 159053 分
在線時間: 3173(小時)
注冊時間: 2007-11-21
最后登錄: 2024-12-26
查看sjm213的 主題 / 回貼
2樓  發(fā)表于: 2014-01-09 21:13
因?yàn)榈刂吩O(shè)定是按照16位長度預(yù)設(shè)的(-32768~+32767),所以用的是VW***,這樣的話直接增1會造成地址重疊;
如果你設(shè)定的數(shù)很小,只需要255以內(nèi)的,那么就不需要×2,但是儲存地址要變成VB100、VB101……連續(xù)的11個地址。