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

已锁定

万泉河

  • 帖子

    10913
  • 精华

    132
  • 被关注

    1021

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2022-06-09 09:16:48

34楼

展开查看
以下是引用Zane在2022-06-08 09:02:21的发言 >30楼

呵呵,不是看不懂,而是不敢苟同。


你的做法引入了原本系统中没有的信号优先级的逻辑关系,给系统的可靠性安全性带来了隐患,到头来不过是懒人庸人式的优雅。


我倒要说一句,都讲得这么明白了,你咋就看不懂呢?

以下是引用万泉河在2022-06-07 19:22:34的发言 >29楼:真的到工程项目的时...

引用29楼详细内容:

真的到工程项目的时候, 例子中的"开关信号组".DI[B]需要替换为具体的DI点以及其符号名称的. 


比如符号如果是"A1工位_信号开关","C8工位_信号开关" 那就不能做循环了. 但我现在这样平铺的程序,完全简单替换则没有问题. 


这是我补了那段说明的原因. 


然而很多人仍然看不懂

以下是引用ETD在2022-06-05 21:19:04的发言 >15楼:不懂就要问,楼主既...

引用15楼详细内容:

不懂就要问,楼主既然知道现场接线不能如你所愿,为什么还要申明这样的UDT数组变量?

这样接线一旦不规律,只有两种方法解决:

  1. 改线 

  2. 改程序,即写做#工位[A](SIG:="开关信号组".DI[B],LAMP:="LAMP")

不觉得别扭么?

是你杞人忧天太多了, 把人机交互的时机问题当成了天要塌下来的了不得的大事。


即便按照你预想的有两个人同一时刻,同一个OB1周期内按了开关, 那么按照最严谨的逻辑,本来也是两次触发反转,最终的结果不反转,也完全符合逻辑顺序要求。 


或者假设, 实际操作中, 两个操作相差瞬间, 那么如果第一个人开灯之后灯立马灭掉, 那么他就会知道同时有另外的人给灭掉了, 那就再开。 而除了PLC系统,两个工位之间的操作员根本不晓得他们之间的时间差。 


系统既然如此设计, 就代表了根本不存在安全问题。 如果有安全问题,就根本不该有这样的设计!


啥事都往安全上扯, 把安全扯到每一个细节, 除了让其他行业的人员觉得这拨人莫名其妙之外, 更大受伤害的是自己。 




一个系统中, 与安全相关的, 要求逻辑严格准确的, 只是其中占比很小的部分。 但无论如何,双联开关不会与之有关系。 


PLC系统也已经广泛应用于工业领域之外的其它领域, 农业, 商业, 服务业,大量的应用是与安全无关的。 


所以, 准确说是对你的安全理由不敢苟同。 

所以都懒得去打补丁实现你这种要求。 而实际上早就说过了,你的能力,我的能力,都完全足够在现有框架下, 有漏洞的时候打补丁实现逻辑的完整性。 (实际上80个工位的情况下真值表完全吻合,也不存在漏洞)


所以这里一直在讨论编程方法的问题, 一直把安全,逻辑严谨当天塌下来一般阻止喝止别人采用, 真的相当不可理喻。 


天底下不仅仅你一个人懂安全, 也不是你一个人代表了安全的终极正确答案。 所有看客,所有学习者,都自有结论, 自有评判。 

微信公众号:PLC标准化编程,ZHO6371995
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15646条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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