h30631
级别: 略有小成
精华主题: 0
发帖数量: 90 个
工控威望: 230 点
下载积分: 812 分
在线时间: 339(小时)
注册时间: 2012-09-05
最后登录: 2018-04-17
查看h30631的 主题 / 回贴
楼主  发表于: 2013-12-18 08:23
各位前輩好
小弟寫了一段程序如下



M8002 模擬會不會停,所以先給值

M100 準備啟動一個動作,M500 開始執行動作

M2000 需要動作的位置,M802 動作完觸發

最後是定義位置範圍

現在是因為每作完一次動作會把V0+1,如果M為0就繼續+1
M為1時停止+1並執行動作,旦是這樣感覺很沒效率
有沒有方法,直接判斷有哪些M是ON的,直接讓他丟M是ON的索引值
這樣忽略M=0 ,可以提升效率

懇請前輩們指點
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1278 个
工控威望: 6109 点
下载积分: 52362 分
在线时间: 1123(小时)
注册时间: 2012-04-24
最后登录: 2024-12-25
查看john42tw的 主题 / 回贴
1楼  发表于: 2013-12-18 13:43
引用
引用第3楼h30631于2013-12-18 09:44发表的  :
回樓上大哥

其實我這個動作是這樣的

M2000~M2250 其中可能有幾個M是ON的,也可能全部都是OFF的、也可能全部都是ON的
.......

用迴圈來做呢?
楼主留言:
真诚感谢!

請問是
for next嗎?
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1278 个
工控威望: 6109 点
下载积分: 52362 分
在线时间: 1123(小时)
注册时间: 2012-04-24
最后登录: 2024-12-25
查看john42tw的 主题 / 回贴
2楼  发表于: 2013-12-18 16:16
參考看看  M500 開始搜尋

M500      
---|^|-------------------------[MOV K0 Z0]
---[> Z0 K249]---|

M500      M0Z0
---||----------||----------------[SET  M0Z0]
         |              |-----------[RST  M500]
         |     M0Z0
         |-------|/|---------------[+ Z0 K1 Z0]
楼主留言:
感謝大哥分享

這段跟我寫的方式一樣

都要全部掃描過

我想說能不能更快的,忽略0
直接抓1出來用