回复:安全集成SPL的安全逻辑程序safe.spf

奋斗的小年轻

  • 帖子

    317
  • 精华

    3
  • 被关注

    38

论坛等级:侠圣

注册时间:2015-11-05

黄金 黄金 如何晋级?

发布于 2017-10-30 10:55:39

10楼

展开查看
以下是引用gelu172在2017-09-16 10:22:33的发言 >楼主

这次,我和大家简答聊聊安全集成SPL的核心,safe.spf的安全逻辑。

上回说了,safe.spf的两种启动方式MD20108。直接启动方式没有什么可说的,这里说一下prog_event的启动方式。

Prog_event的启动在目录cma.dir下边,至于哪个文件,需要查看MD11620,一般默认为prog_event.spf,但是也有部分用户另外起名字的,为了避免大家找不到,这里特别贴出来。

那么,再cmd.dir下边找到该文件,cycpe_ma.spf。打开看一下其内容。

可以看到,其正常格式,就如上图所示,$P_PORG_EVENT==4,就是power on时,调用safe.spf程序,注意注明路径,多个程序共同调用时,safe.spf放在最后。这样safe.spf就生效了。

接下来,就可以看看safe.spf如何编程了。

第一部分,DEFINE区域,定义各个变量名,使其更具有可读性。这部分可以省略,如果你不想让你的客户太容易看懂的话。

第二部分,正文部分。

首先需要注意ID和IDS的区别。ID仅在单一方式组下,使用的同步条件,一般都是自动模式。IDS则是跨方式组运行,随时需要判定的同步条件。对安全集成而言,自然是不论自动还是手动,亦或MDA,都必须时刻生效的。所以这里的同步条件,一定是IDS,同样,这也解释了,为什么安全集成,必须使用M43这个option的原因。

一般的逻辑,都是将安全输入信号$A_INSE通过一定的逻辑运算,最终给到$A_OUTSI。比较复杂的逻辑,会在当中,加入大量的中间变量$A_MARKERSI过渡,使其更有条理,配合解说文字,使程序更具可读性。

如上图所示,就是将之前逻辑运算之后的$A_MARKERSI给到$A_OUTSI,使整个逻辑完整。最后OUTSI再通过上讲中提到的内部SGE信号,通过MD36970+的参数,给出各个轴的停止响应,操控各个轴的运行状况。从而完成整个逻辑回路。

在SPL中,有一部分功能比较特殊,TEST STOP和SAFETY BRAKE TEST,这些信号只能由PLC独立完成,NC并不参与,这些信号是比较特殊的非双通道校验原理运作的,但是其仍然要遵守安全集成的双通道校验规则,所以这部分信号是否能通过安全测试,需要PLC来告诉NC,这部分动作,也在safe.spf中完成,利用的参数是$A_PLCSIIN,该参数也负责其它一些需要PLC直接告诉NC的参数设定。

归根结底,NC端的SPL,就原理而言,其实safe.spf只负责前半部分。后半部分由参数设定给到内部SGE信号来完成。这个和PLC的从头到尾一手抓有本质区别。这个大家要注意的。下次有时间,我会写一下PLC编程的注意事项,大体原理和NC同,但是没有任何系统参数可以借助,全部是自身PLC的接口信号完成。

下午还要陪女儿去读英语,到此为止吧。


$P_PORG_EVENT==4  power on时调用safe.spf

调用条件是MD20108,不应该是$P_PORG_EVENT==8H或者20H吗?

如何理解?


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25500条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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