刀剑剑非刀
芳菲阑珊,夙缘鶗鴃,风驷云轩愁誓约
级别: 略有小成
精华主题: 0
发帖数量: 40 个
工控威望: 245 点
下载积分: 554 分
在线时间: 35(小时)
注册时间: 2020-01-13
最后登录: 2024-10-29
查看刀剑剑非刀的 主题 / 回贴
楼主  发表于: 2022-01-08 11:02
"R_TRIG_DB_3"(CLK := "DD".LOU[1 ],
                  Q => "DD".P[1 ]);
    IF "DD".P[1 ] THEN
        "DD".楼层队列[1 ] := "DD".队列数 + 1;
        "DD".队列数 := "DD".队列数 + 1;
        ;
        RETURN;
    END_IF;
上面一段可以通过  "DD".LOU[1 ] 的上升沿做加一计数,求助我想写一个一组数据通过循环判断上升沿来计数,但是数量一直累积,没法做到上面的单个效果,大佬们帮忙分析分析,给各位大佬们拜个早年!!

FOR "DD".NUM := 1 TO 10 DO
    ;      
    "R_TRIG_DB_3"(CLK := "DD".LOU["DD".NUM ],
                  Q => "DD".P["DD".NUM ]);
    IF "DD".P["DD".NUM ] THEN
        "DD".楼层队列["DD".NUM ] := "DD".队列数 + 1;
        "DD".队列数 := "DD".队列数 + 1;    
        ;
        RETURN;
    END_IF;
END_FOR;
枫落云端
施主,脚抬一下
级别: 略有小成

精华主题: 0
发帖数量: 341 个
工控威望: 465 点
下载积分: 1595 分
在线时间: 411(小时)
注册时间: 2017-10-10
最后登录: 2024-11-22
查看枫落云端的 主题 / 回贴
1楼  发表于: 2022-01-08 14:20
上升沿不能这样做。需要建立多个R_TRIG。主要是R_TRIG里面有内部暂存信号,一对多不通。
可以自己 建立   暂存位数组

"DD".P["DD".NUM ]:=DD".LOU["DD".NUM ] AND NOT 暂存位数组["DD".NUM];
暂存位数组["DD".NUM]:=DD".LOU["DD".NUM ] ;