hjd105
级别: 略有小成
精华主题: 0
发帖数量: 292 个
工控威望: 456 点
下载积分: 1483 分
在线时间: 238(小时)
注册时间: 2007-09-21
最后登录: 2024-05-01
查看hjd105的 主题 / 回贴
楼主  发表于: 2011-09-15 09:41
    比如我要编这么个程序,要求是这样的:有19个电磁阀要轮流接通,每隔半小时接通一个,第二个接通第一个要关闭,第三个接通前二个要关闭。到第19个关闭后第一个接通。始终只有一个是接通的。我用循环右移指令要怎么编呢?
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
1楼  发表于: 2011-09-15 09:52
这个控制我写过。不是用循环有一些的
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
2楼  发表于: 2011-09-15 10:05
循环右移没有用过,我用时间继电器循环交替写过这样的程序,
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
3楼  发表于: 2011-09-15 10:06
这个其实很简单的
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
4楼  发表于: 2011-09-15 10:28
吧19位0101010,2进制数换算成十进制长数,用MOV写到D0或K8M存储器里,用循环右移动,用两个时间继电器做半小时触发一次,触发时常可以自己调整,具体的细节你待查下手册,19位比较大,你可以用4位或八位的数,可能还要把存储器里的说用BIN指令转换成BCD,自己研究吧
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
5楼  发表于: 2011-09-15 10:30
用循环右移做的步比时间继电器做的步少不了多少