恭喜,你发布的帖子
发布于 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大侠差远了。
请填写推广理由:
分享
只看
楼主