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

风过留y

  • 帖子

    434
  • 精华

    16
  • 被关注

    89

论坛等级:奇侠

注册时间:2011-12-17

普通 普通 如何晋级?

发布于 2017-09-16 11:44:40

2楼

 前排支持。

接着gelu大侠的话题说两句。

1、安全程序使用的IDSxx必须通过以下参数激活保护:

MD11500[0] $MN_PREVENT_SYNACT_LOCK
MD11500[1] $MN_PREVENT_SYNACT_LOCK

下标0 and 1参数分别表示安全同步指令IDS起始地址和结束地址。如果(MN_PREVENT_SYNACT_LOCK [0.1]等于0)NCK-SPL的保护机制不激活,当NCK和PLC之间的交叉数据比较开始时显示报警27095。

2、同步动作和安全同步动作单元的数量:

28250 MM_NUM_SYNC_ELEMENTS

28251 MM_NUM_SAFE_SYNC_ELEMENTS

28250和28251分别包含同步动作和安全同步动作单元的数量,28251一般设置为500单元。

运动同步动作的表达式保存在控制器的存储单元中。一个运动同步动作至少占用4 个单元,而一个单元消耗64字节内存说明消耗还是蛮大的。
具体占用情况如下:
条件中的每个操作数占用1 个单元
每个动作最少占用1 个单元
每个赋值指令占用2 个单元
复合表达式中每个操作数占用1 个单元

所以同步动作中的操作数和表达式等越多暂用的的同步动作单元也越多,这就需要通过选项增加单元数量。这在编程时需要特别注意。

3、宏指令技术 (DEFINE...AS)

本人第一次接触时也不是特别明白下面稍微讲一下,DEFINE...AS指令用于定义复合功能,只需执行一次就可以一直重复使用,比如我执行;

N10 DEFINE  function  AS M50 M51 M52,AS后面最多带三个指令;

那么接下来执行宏指令;

N20 function ;那么M50 M51 M52三个指令都会被执行,方便记忆管理。

那么下面的指令就是当执行 IE_NOT_AUS_PULT时自动取变量$A_INSE[01]的值,也是方便记忆管理的方式。

N120 DEFINE IE_NOT_AUS_PULT      AS $A_INSE[01]   ;   DBX38.0

水平有限就讲怎么多吧,和gelu大侠差远了。


分享技术,共同进步。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25501条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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