沿指令的另一种编程方法

已锁定

老学童

  • 帖子

    765
  • 精华

    32
  • 被关注

    64

论坛等级:奇侠

注册时间:2011-06-22

钻石 钻石 如何晋级?

沿指令的另一种编程方法

3440

13

2023-04-15 18:43:58

在西门子PLC中沿指令编程似乎是一个永久话题,五彩缤纷,表现了西门子开放性,了解这些技巧对于阅读和编写程序大有脾益,HUO1921大侠分享的程序中出现了另一种沿指令编程编程方法,本人经过仿真,对这种编程方法有了进一步理解,在此分享,供大家参考:

参考:https://www.ad.siemens.com.cn/club/bbs/post_1798084_66_0_29.html#anch

程序中分别在字逻辑和位逻辑中出现了两次以下逻辑:

===================================

B:=A XOR A_FP AND A;

A_FP:=A;

===================================

A: 输入信号:BOOL或位序列类型(Word)

A_FP: 存储位:BOOL或位序列类型(Word)

B: 结果沿信号:BOOL或位序列类型(Word)

为了便于测试,本人用经典STEP 7 SCL编程进行测试, 程序如下:

FB10:

FUNCTION_BLOCK FB10

VAR_INPUT

A:WORD; //输入信号

END_VAR

VAR_OUTPUT

B:WORD; //输出沿信号

D AT B: ARRAY [0..15] OF BOOL;

C:WORD; //记录沿信号

END_VAR

VAR

A_FP:WORD;

EE: WORD;

TEST AT EE: ARRAY [0..15] OF BOOL;

END_VAR

VAR_TEMP

i: INT;

END_VAR


i:=0;

B:=A XOR A_FP AND A;

A_FP:=A;

FOR i:= 0 TO 15 BY 1 DO

IF D[i]

THEN

TEST[i] := TRUE;

END_IF;

END_FOR;

C:=EE;

END_FUNCTION_BLOCK


OB1:

测试结果,无论BOOL或位序列类型(Word),均得到沿脉冲

提示:

每次测试后下一次输入值前,要在变量表中将背景数据块中变量#EE值清零:


欢迎大家批评指正!







沿指令的另一种编程方法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10590条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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