回复:S7-300 PLC 在TIA环境编程使用SCL语言时有指令可以判断一个REAL有没有发生溢出吗?

已锁定

威师爷

  • 帖子

    5108
  • 精华

    47
  • 被关注

    255

论坛等级:至圣

注册时间:2013-09-18

普通 普通 如何晋级?

发布于 2022-10-27 22:17:26

4楼

展开查看
以下是引用zhangli0在2022-10-26 14:06:14的发言 >3楼

实数的保存和整数的保存格式不同,你很难用到溢出的状态的。

https://zhuanlan.zhihu.com/p/343037540

谢谢你的科普!


这里补充一下,这个溢出的原因是由于这个REAL在PLC上的应用是INOUT类型,用途是作为一个低通滤波器的读写值存储,那么当输入的数据接近0时例如0.0000001时滤波器算法还要*一个系数,当然这个系数肯定是小于1.0的,例如输入(0.0000001*滤波器系数0.05)结果是0.000000005,那么这个数据还要不断的周期++所以就会发生溢出。


在STL时非常简单的进行了处理

例如

T  DATA //数据

A  OV //检查DATA变量数据是否溢出

JNB  _001//没有溢出 跳转到 _001

L  INIT    //    如果溢出进行初始化

T   DATA //数据

_001  NOP 0

BE 


 

工业起重机防摇摆 QQ:404136820 AntiSwayControl
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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