tyjksd3535
级别: 略有小成
精华主题: 0
发帖数量: 77 个
工控威望: 218 点
下载积分: 4253 分
在线时间: 145(小时)
注册时间: 2014-03-21
最后登录: 2020-03-24
查看tyjksd3535的 主题 / 回贴
楼主  发表于: 2015-06-25 00:03
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52058 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-09-30
查看john42tw的 主题 / 回贴
1楼  发表于: 2015-06-25 15:22
1.將10段程式分別以 D1~D10代表
2.按鈕 M1~M10 啟動先後 ,代表10段程式啟動先後。

SM402
--||--------------------------------[MOV  K1 D0]

M1
--|^|------[ <  D1  K0]---------[MOV  D0 D1]
                                     |
                                     ----[INC  D0]


M2
--|^|------[ <  D2  K0]---------[MOV  D0 D2]
                                     |
                                     ----[INC  D0]
     .
     .
     .
     .
M10
--|^|------[ <  D10  K0]---------[MOV  D0 D10]
                                     |
                                     -----[INC  D0]


3.10段程式啟動先後 1~10 已存入 D1~D10中。
4.比較 D1~D10 看哪一個最小,就執行哪一個。
  Q 系列可用 MIN 指令
  FX 就要自己寫
5.1段程式執行完畢,就傳入一個值,如 [MOV  K100 D1],改變D1値成為最大値。
  因為一直在比較中,就會執行當前最小値。依此類推,直到最小値為K100時結束。
  並將所有值復歸,等待下一次執行。