huamantang
级别: 家园常客
精华主题: 0
发帖数量: 337 个
工控威望: 542 点
下载积分: 1828 分
在线时间: 273(小时)
注册时间: 2010-01-08
最后登录: 2024-12-26
查看huamantang的 主题 / 回贴
楼主  发表于: 2013-05-05 15:54
图片:
已知数据寄存器d66中的数据从1递增到20,d40中的值随时间变化,现在我想把d66从0变到1的瞬间把D40的值赋给D400,从1到2的瞬间把D40的值赋给D401,以此类推,直到D66值变为20,开始下一循环。我目前的单段写法如附件图中所示,从节省扫描周期的角度,哪位有更简洁的做法?我目前的做法,要写20段,每段占14步
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1278 个
工控威望: 6109 点
下载积分: 52372 分
在线时间: 1123(小时)
注册时间: 2012-04-24
最后登录: 2024-12-26
查看john42tw的 主题 / 回贴
1楼  发表于: 2013-05-06 08:52
M8001
---||-------------------------[MOV  K0  Z0]                  初始設定Z0=0    
--[> Z0  K20]--|                                                     當Z0>20 歸零


X0                                                                         每一次觸發
--|||-------------------------[M0VP  D40  D400Z0]        將D40 傳送到D400+(0~20)位置
                               |---[ADDP  Z0   K1   Z0  ]         每觸發一次加1
                               |---[MOVP  Z0   D66       ]        將次數傳送到D66