回复:80个工位的双联开关控制公用灯的模块化程序示例分享

已锁定

yanxiao

  • 帖子

    12206
  • 精华

    47
  • 被关注

    189

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2022-06-05 20:55:30

13楼

看到80个工位,我就想着找规律了(如果不是为了介绍某一种编程方法)。


归纳一下要求:

1、双联开关,我想应该是没有PLC参与时的选择,PLC参与,用双位开关,就是有两个稳定状态,表达开灯和关灯要求。

2、一个已知的状态,即所有的DI=0时,LAMP=0,此时,DI中的1的个数为0个,偶数。

3、其中任一DI变为1,LAMP=1,此时,DI中的1的个数为1个,奇数。

4、改变其中任一DI的状态,LAMP=0,此时,DI中1的个数,由奇数返回偶数。

归纳结论:DI中1的个数为偶数时,LAMP=0,为奇数时,灯亮。


对于DI不连续的情况,但是总在一定的范围内输入,比如在0-255个输出中随机分布,也就是8个DWORD能够表示所有的DI状态,无关的DI用MASK屏蔽(也是8个DWORD表示)。


看到上面有谈到初始化的要求,也就是,不管DI输入如何,上电LAMP一定为0。

这个解决也不困难。

就是第一次扫描时,统计出DI中1的个数的奇偶性,记住此时的奇或者偶,代表LAMP=0。后续运行时,与此不同的LAMP=1。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15371条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。