回复:互锁块,输出的首出字,怎么成了最后一个故障位的信号了?

沙漠舟

西门子1847工业学习平台

  • 帖子

    306
  • 精华

    0
  • 被关注

    28

论坛等级:侠士

注册时间:2004-03-13

普通 普通 如何晋级?

发布于 2017-11-02 15:24:36

10楼

展开查看
以下是引用你以为你是谁在2017-10-28 17:29:27的发言 >9楼

我的就是OR逻辑,输出的是最后一个故障位,而且必须是全部报警都消失后,才显示。今天**聘期的专家来了,说这样不行。第一个报警位触发了,就置位首出,而且不需要等到返回。搞得我只能重新编写功能块了,不能用这个了。


以下是引用沙漠舟在2017-10-28 16:42:38的发言 >:首出字是导致输出变...

引用详细内容:

首出字是导致输出变化的第一个信号的位号,这里强调了输出变化。

互锁块有两个逻辑,AND或者OR,看你用哪一个了。

用AND 的话就是表示最后一个变化的信号位,因为只有最后一个信号变化了,才能导致输出变化;用OR的话就表示第一个变化的信号位,因为只需要一个信号变化,就能导致输出变化。

经过今天测试总结如下:


我前面说了"首出字是导致输出变化的第一个信号的位号,这里强调了输出变化"。这个变化是输出管脚OUT从1->0的变化(如上图)。就是说,正常情况下,你要保证OUT为1,这个很重要。你可以看到INTLOCK块的输出OUT管脚=1时,面板上显示的是绿色,OUT管脚=0时,面板上显示的是红色。(这个也符合电机等块的Intlock管脚的定义,1=未激活,0=激活)所以说这个块应该就是反逻辑应用,和正逻辑正好相反。

用AND 的话,输入信号应当全是1,当第一个信号变化了(这时应当是1->0),就导致输出OUT从1->0;

用OR的话,输入信号应当全是1,当最后一个信号(这时就是引起输出变化的第一个信号)变化了(这时应当是1->0),就导致输出OUT从1->0。

你要根据要实现的功能来选择AND或OR逻辑,输入信号的状态该取反时就取反。

实测截图如下:

图1是正常时的状态,注意这里我对信号取反了

图1

第一个信号变化后的状态,如图2

图2

第二个信号变化后的状态,如图3

图3

在这里,可以看到FirstIn=16#2,指示的就是第二个信号位(其实就是指第一个引起输出变化的信号位)

复位后将两个信号变化顺序调换一下,再测一遍

第二个信号变化后的状态,如图4

图4

第一个信号变化后的状态,如图2

图5

在这里,可以看到FirstIn=16#1,指示的就是第一个信号位(其实就是指第一个引起输出变化的信号位)


在此纠正一下我前面所说的:“用AND 的话就是表示最后一个变化的信号位,因为只有最后一个信号变化了,才能导致输出变化;用OR的话就表示第一个变化的信号位,因为只需要一个信号变化,就能导致输出变化。”这只是适用于普通AND逻辑和OR逻辑,不适用于Intlock的AND逻辑和OR逻辑。



人若无名,专心练剑
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

DCS/SIMATIC PCS7

共有4413条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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