幸福沙漏
级别: 论坛先锋
精华主题: 0
发帖数量: 111 个
工控威望: 1004 点
下载积分: 45426 分
在线时间: 416(小时)
注册时间: 2012-07-02
最后登录: 2024-12-19
查看幸福沙漏的 主题 / 回贴
楼主  发表于: 2024-08-23 11:11
有30个设备,每个设备都有三种状态,不运行、正常、故障(0 1  2标识),如果设备都不运行触摸屏总报警灯显示灰色, 如果启用中的设备都正常才显示绿灯,有一个不正常总报警灯就得闪烁,如果该设备在处理中,那其他没报警就红灯常亮,如果另外一台也报警了,则恢复为灯闪烁,且报警闪烁中的可以查到具体那一台报警
草原冰狼
级别: 略有小成
精华主题: 0
发帖数量: 61 个
工控威望: 379 点
下载积分: 893 分
在线时间: 81(小时)
注册时间: 2024-05-07
最后登录: 2024-11-21
查看草原冰狼的 主题 / 回贴
1楼  发表于: 2024-08-23 11:32
这个很简单,说吧预算是多少
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 769 个
工控威望: 1147 点
下载积分: 397 分
在线时间: 603(小时)
注册时间: 2019-09-22
最后登录: 2024-12-19
查看gxtmdb82164的 主题 / 回贴
2楼  发表于: 2024-08-23 13:27
看起来是写一个子程序调用30次,然后把输出结果汇总再写一段程序就能解决的问题呀。。。
electric
级别: 略有小成
精华主题: 0
发帖数量: 159 个
工控威望: 249 点
下载积分: 1420 分
在线时间: 44(小时)
注册时间: 2024-05-23
最后登录: 2024-11-07
查看electric的 主题 / 回贴
3楼  发表于: 2024-08-23 13:58
把输出和报警做汇总就好了
hstec2002
级别: 论坛先锋
精华主题: 0
发帖数量: 489 个
工控威望: 1892 点
下载积分: 8465 分
在线时间: 679(小时)
注册时间: 2021-05-05
最后登录: 2024-12-17
查看hstec2002的 主题 / 回贴
4楼  发表于: 2024-08-23 14:19
用指针寻址+FOR 更简短
QQ: 2845452345
人工高泽
级别: 正式会员
精华主题: 0
发帖数量: 13 个
工控威望: 77 点
下载积分: 677 分
在线时间: 36(小时)
注册时间: 2022-09-28
最后登录: 2024-12-18
查看人工高泽的 主题 / 回贴
5楼  发表于: 2024-08-24 16:46
一个设备用两个bit位标识把。第一个0表示不运行,1表示正常运行。  第二个0表示无故障,1表示有故障。。然后有个运行位的双字节,DW0。一个故障位的双字DW4。正好够32个设备

DW0=0,所有设备不运行。DW0>0,有设备运行。DW4=0,无故障。DW4>0,有故障。红灯闪烁

再加一个报警消音。按下后,红灯不闪烁。

如果消音时,DW4数值变化,那么复位消音,红灯闪烁
[ 此帖被人工高泽在2024-08-24 16:51重新编辑 ]
gsw2022
级别: 论坛先锋
精华主题: 0
发帖数量: 383 个
工控威望: 1202 点
下载积分: 421 分
在线时间: 260(小时)
注册时间: 2022-01-24
最后登录: 2024-12-19
查看gsw2022的 主题 / 回贴
6楼  发表于: 2024-08-26 15:33
学习了
森利德
向大佬学习 向大佬致敬
级别: 工控侠客
精华主题: 0
发帖数量: 595 个
工控威望: 2282 点
下载积分: 4653 分
在线时间: 205(小时)
注册时间: 2023-01-16
最后登录: 2024-12-18
查看森利德的 主题 / 回贴
7楼  发表于: 2024-08-26 17:27
我是来学习的