• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
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
这个控制我写过。不是用循环有一些的
hjd105
级别: 略有小成
精华主题: 0
发帖数量: 292 个
工控威望: 456 点
下载积分: 1483 分
在线时间: 238(小时)
注册时间: 2007-09-21
最后登录: 2024-05-01
查看hjd105的 主题 / 回贴
2楼  发表于: 2011-09-15 10:02
上面这位的后半句话看不懂呢
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
3楼  发表于: 2011-09-15 10:05
循环右移没有用过,我用时间继电器循环交替写过这样的程序,
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
4楼  发表于: 2011-09-15 10:06
这个其实很简单的
hjd105
级别: 略有小成
精华主题: 0
发帖数量: 292 个
工控威望: 456 点
下载积分: 1483 分
在线时间: 238(小时)
注册时间: 2007-09-21
最后登录: 2024-05-01
查看hjd105的 主题 / 回贴
5楼  发表于: 2011-09-15 10:14
用时间继电器写程序步太多了,我想学会用循环指令写。
wwcwwc
级别: VIP会员

精华主题: 0
发帖数量: 3392 个
工控威望: 3188 点
下载积分: 70165 分
在线时间: 1601(小时)
注册时间: 2008-04-20
最后登录: 2024-04-25
查看wwcwwc的 主题 / 回贴
6楼  发表于: 2011-09-15 10:26
用时间继电器做时基,用三菱位移指令。
wuliang211
小刚
级别: 家园常客
精华主题: 0
发帖数量: 370 个
工控威望: 537 点
下载积分: 2227 分
在线时间: 291(小时)
注册时间: 2011-08-23
最后登录: 2019-12-21
查看wuliang211的 主题 / 回贴
7楼  发表于: 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的 主题 / 回贴
8楼  发表于: 2011-09-15 10:30
用循环右移做的步比时间继电器做的步少不了多少
niningtt
级别: 工控侠客
精华主题: 0
发帖数量: 1229 个
工控威望: 3549 点
下载积分: 856 分
在线时间: 458(小时)
注册时间: 2010-08-24
最后登录: 2024-03-22
查看niningtt的 主题 / 回贴
9楼  发表于: 2011-09-15 11:18
开始的时候DMOV  H0001 D0
TO计时半小时 LDI TO
                          OUT T0 K18000
左移位 LDP T0
       DSFTL D0 K1 D0
判断复位 LDD= D0 H00080000
                 DMOV  H0001  D0
输出结果    DMOV D0 K5Y0
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6738 个
工控威望: 37093 点
下载积分: 8700 分
在线时间: 9388(小时)
注册时间: 2006-09-13
最后登录: 2024-05-06
查看cvlsam的 主题 / 回贴
10楼  发表于: 2011-09-15 11:26
用位左移会显得繁琐,用循环左移指令而会导致低端型号不通用,而作为程序员,减少重复代码是提升水平的重要方法,相反,用解码指令则可以照顾到低端型号。




水平有限,欢迎拍砖。

Good Luck~
本帖最近评分记录:
  • 下载积分:+2(qinchenglim) 感谢分享
    hjd105
    级别: 略有小成
    精华主题: 0
    发帖数量: 292 个
    工控威望: 456 点
    下载积分: 1483 分
    在线时间: 238(小时)
    注册时间: 2007-09-21
    最后登录: 2024-05-01
    查看hjd105的 主题 / 回贴
    11楼  发表于: 2011-09-15 12:55
    谢谢楼上二位老师,学习了!
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go