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

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點
下載積分: 158550 分
在線時間: 3152(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-07
查看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個點,分別對應地址是VW100、VW102……VW120,這11個地址儲存11個位置數(shù)據;
VW200是電機目標地址;
這樣每個點ON時它對應的地址數(shù)據就到了VW200了。
shqpxcy
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 231 點
下載積分: 1249 分
在線時間: 61(小時)
注冊時間: 2012-05-30
最后登錄: 2024-08-13
查看shqpxcy的 主題 / 回貼
2樓  發(fā)表于: 2014-01-08 13:30
貌似有點理解了,我再去翻翻手冊,十分感謝。
shqpxcy
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 231 點
下載積分: 1249 分
在線時間: 61(小時)
注冊時間: 2012-05-30
最后登錄: 2024-08-13
查看shqpxcy的 主題 / 回貼
3樓  發(fā)表于: 2014-01-08 14:42
沒搞明白為什么要 MW2乘以2,再送到MW10
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點
下載積分: 158550 分
在線時間: 3152(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-07
查看sjm213的 主題 / 回貼
4樓  發(fā)表于: 2014-01-09 21:13
因為地址設定是按照16位長度預設的(-32768~+32767),所以用的是VW***,這樣的話直接增1會造成地址重疊;
如果你設定的數(shù)很小,只需要255以內的,那么就不需要×2,但是儲存地址要變成VB100、VB101……連續(xù)的11個地址。
shqpxcy
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 231 點
下載積分: 1249 分
在線時間: 61(小時)
注冊時間: 2012-05-30
最后登錄: 2024-08-13
查看shqpxcy的 主題 / 回貼
5樓  發(fā)表于: 2014-01-11 20:43
明白了,謝謝。
lyntechme
虛心做人,踏實做事
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 564 個
工控威望: 709 點
下載積分: 12711 分
在線時間: 256(小時)
注冊時間: 2012-03-31
最后登錄: 2023-06-04
查看lyntechme的 主題 / 回貼
6樓  發(fā)表于: 2014-02-08 21:21