查看: 604|回复: 7
收起左侧

[应用问题] 如何检测一个数值变量是否发生变化

yxwbbwc 2023-6-12 09:52:14 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
例如:有个INT变量,原来是10,当它变成任意其它数值时,能产生一个沿信号,该如何操作?

点评

下面已经有ST的写法了,梯形图的话就是LD<> K10 D? 后面是你的变量  发表于 2023-6-13 14:47




上一篇:请问有没有定期保养机器的库文件
下一篇:为什么时钟同步比扫描刷新可以提供更高的精度呢?

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

xwj1972 2023-6-13 09:08:19 | 显示全部楼层
IF A<>A_old THEN
    //执行你要的动作;
END_IF
A_old:= A;

点评

正解  发表于 2023-6-28 15:25
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香! 鲜花榜单
回复 送花

使用道具 举报

微光 2023-6-13 11:04:25 | 显示全部楼层
做比较,和上一次比较
回复 送花

使用道具 举报

yqx 2023-6-15 08:21:51 | 显示全部楼层
加一个临时变量存值
回复 送花

使用道具 举报

苍原 2023-6-26 08:24:22 | 显示全部楼层
小型PLC:数值A<>A,输出一个上升沿信号
中型可以直接用上升沿功能块,检测输入为A<>A,直接用功能块.Q就是上升沿
回复 送花

使用道具 举报

卢志武 2023-6-26 15:30:21 | 显示全部楼层
        正跳变触发:=FALSE;
        负跳变触发:=FALSE;
IF f_检测输入值>f_变量旧值+f_波动过滤值 OR f_检测输入值<f_变量旧值-f_波动过滤值 THEN
        IF f_检测输入值>f_变量旧值+f_波动过滤值 THEN
                正跳变触发:=TRUE;
                正跳变计数:=正跳变计数+1;//z执行上升沿动作
        END_IF;
        IF  f_检测输入值<f_变量旧值-f_波动过滤值 THEN
                负跳变触发:=TRUE;
                负跳变计数:=负跳变计数+1;//z执行下降沿动作
        END_IF;
        f_变量旧值:=f_检测输入值;
END_IF
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部