• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
kylew
kylew
级别: 略有小成
精华主题: 0
发帖数量: 107 个
工控威望: 214 点
下载积分: 534 分
在线时间: 208(小时)
注册时间: 2010-08-08
最后登录: 2024-11-30
查看kylew的 主题 / 回贴
楼主  发表于: 2017-05-13 10:04
要求在触摸屏上做50到100个开关吧,同时只能接通一个开关,
比如当前有一个开关置位,按下另一个开关时当前开关复位,按下的开关置位。
怎样才能简单点呢?我做的功能是有了,就是写的程序太繁杂了!
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 407 点
下载积分: 987 分
在线时间: 168(小时)
注册时间: 2008-08-23
最后登录: 2024-11-19
查看sjbandmm的 主题 / 回贴
1楼  发表于: 2017-05-13 10:54
LD SM400
MOV K0 Z0
MOV K0 D0
FOR K96
LD M0Z0
INC D0
LD SM400
INC Z0
NEXT
LD SM400
BMOV K4M0 D10 K6
LD= D0 K1
BMOV K4M0 D2 K6
LD= D0 K2
BKXOR D10 D2 D20 K6
BMOV D20 K4M0 K6
LD> D0 K2
BKRST M0 K96
END
m0-M95为开关,共96个D0统计按钮按下个数d10-d15保存当前按钮状态当按下一个按钮时直接把所有按钮状态保存到d2-d7中当按下2个按钮时,将当前按钮状态与原始状态异或,得到当前状态,其他状态归零并将异或得到的值传回到m0-m95正常时不会超过2个按钮按下,但为了防止意外,超过2个按钮就将所有按钮复位

我写的复杂了,其实只要保存当前状态,下个循环时间检测一下本次状态与上次状态是否相同,如果不同执行一次异或就可以,然后再将异或结果返回到当前m就可以了。
[ 此帖被sjbandmm在2017-05-13 11:34重新编辑 ]
kylew
kylew
级别: 略有小成
精华主题: 0
发帖数量: 107 个
工控威望: 214 点
下载积分: 534 分
在线时间: 208(小时)
注册时间: 2010-08-08
最后登录: 2024-11-30
查看kylew的 主题 / 回贴
2楼  发表于: 2017-05-13 11:00
非常感谢!还是这里高手多!
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 407 点
下载积分: 987 分
在线时间: 168(小时)
注册时间: 2008-08-23
最后登录: 2024-11-19
查看sjbandmm的 主题 / 回贴
3楼  发表于: 2017-05-13 11:09
这只是我一个方法,请有其他思路的也说下自己的想法,大家一起学习!
周家大少
辛辛苦苦也不过是为了养家糊口!
级别: 工控侠客
精华主题: 0
发帖数量: 1160 个
工控威望: 3078 点
下载积分: 2003 分
在线时间: 151(小时)
注册时间: 2015-09-10
最后登录: 2024-12-18
查看周家大少的 主题 / 回贴
4楼  发表于: 2017-05-13 11:51
其实还有另一个方向,开关开状态为1,关状态为0,只要判断所有开关的1的个数只能小于等于1,大于1时就将后面的状态来覆盖前面的状态
本帖最近评分记录:
  • 下载积分:+1(蒲城风信子) 真是好人!
  • QQ:611369538
    微信:ZMF2KXL
    kylew
    kylew
    级别: 略有小成
    精华主题: 0
    发帖数量: 107 个
    工控威望: 214 点
    下载积分: 534 分
    在线时间: 208(小时)
    注册时间: 2010-08-08
    最后登录: 2024-11-30
    查看kylew的 主题 / 回贴
    5楼  发表于: 2017-05-13 11:53
    楼上的方法我用了,只是要按2次按钮!
    周家大少
    辛辛苦苦也不过是为了养家糊口!
    级别: 工控侠客
    精华主题: 0
    发帖数量: 1160 个
    工控威望: 3078 点
    下载积分: 2003 分
    在线时间: 151(小时)
    注册时间: 2015-09-10
    最后登录: 2024-12-18
    查看周家大少的 主题 / 回贴
    6楼  发表于: 2017-05-13 11:56
    你开关的设定要设置成按下就判断,松开就输出这样才不用按两下
    QQ:611369538
    微信:ZMF2KXL
    kylew
    kylew
    级别: 略有小成
    精华主题: 0
    发帖数量: 107 个
    工控威望: 214 点
    下载积分: 534 分
    在线时间: 208(小时)
    注册时间: 2010-08-08
    最后登录: 2024-11-30
    查看kylew的 主题 / 回贴
    7楼  发表于: 2017-05-13 12:01
    这样的话100个按钮就要写100条置位指令吧!
    gzcjx555
    QQ  296686949
    级别: 工控侠客
    精华主题: 0
    发帖数量: 508 个
    工控威望: 4195 点
    下载积分: 1563 分
    在线时间: 354(小时)
    注册时间: 2014-02-15
    最后登录: 2024-12-24
    查看gzcjx555的 主题 / 回贴
    8楼  发表于: 2017-05-14 20:21
    图片:
    M0到M255是按钮输入,M1000到M1255是输出,总共255个按钮,当没有任何输入的生活,M1000一直都是输出,但是可以不管,你可以不使用M1000,我敢保证肯定能过使用,不服来辩。
    联系电话15071699246,QQ296686949
    kylew
    kylew
    级别: 略有小成
    精华主题: 0
    发帖数量: 107 个
    工控威望: 214 点
    下载积分: 534 分
    在线时间: 208(小时)
    注册时间: 2010-08-08
    最后登录: 2024-11-30
    查看kylew的 主题 / 回贴
    9楼  发表于: 2017-05-16 11:44
    楼上这个程序的思路挺不错,复位前后,保留当前!
    sjbandmm
    级别: 略有小成
    精华主题: 0
    发帖数量: 237 个
    工控威望: 407 点
    下载积分: 987 分
    在线时间: 168(小时)
    注册时间: 2008-08-23
    最后登录: 2024-11-19
    查看sjbandmm的 主题 / 回贴
    10楼  发表于: 2017-05-16 22:27
    8楼的思路不错,就是还要完善下,某个按钮按下后就不能自复位,必须要用别的按钮复位。
    gzcjx555
    QQ  296686949
    级别: 工控侠客
    精华主题: 0
    发帖数量: 508 个
    工控威望: 4195 点
    下载积分: 1563 分
    在线时间: 354(小时)
    注册时间: 2014-02-15
    最后登录: 2024-12-24
    查看gzcjx555的 主题 / 回贴
    11楼  发表于: 2017-05-17 19:39
    按哪一个按钮不能够复位,可以说具体一点吗?
    联系电话15071699246,QQ296686949
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go