分享

实用案例-模拟量值转换为工程量的两种SCL编程方法

 阿明哥哥资料区 2022-09-17 发布于上海

把模拟量值转换为工程量可以使用博途里面的NORM_X标准化
指令和SCALE_X缩放指令俩完成,也可以直接用数学函数指令完成,下面介绍两个指令的参数及通过两种方法把热电阻的模拟量值转换成实际的温度值的案例。

NORM_X:标准化

说明

可以使用“标准化”指令,通过将输入 VALUE 中变量的值映射到线性标尺对其进行标准化。可以使用参数 MIN 和 MAX 定义(应用于该标尺的)值范围的限值。输出 OUT 中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。如果要标准化的值等于输入 MIN 中的值,则该指令将返回结果“0.0”。如果要标准化的值等于输入 MAX 中的值,则该指令将返回结果“1.0”。
“标准化”指令通过以下公式进行计算:
OUT = (VALUE – MIN) / (MAX – MIN)
指令的参数如下

图片


SCALE_X:缩放

说明

使用“缩放”指令将浮点数映射到指定的取值范围来进行缩放。可使用 MIN 和 MAX 参数指定取值范围。缩放的结果为整数。
“缩放”指令将按以下公式进行计算:
OUT = [VALUE ∗ (MAX – MIN)] + MIN
下表列出了该指令的参数:

图片

SCL编程如下图,方法一通过标准化指令和缩放指令完成模拟量值的转换,转换结果存放在温度当前值1,方法二通过数学函数指令完成模拟量值的转换,转换结果存放在温度当前值2中

图片

OB1主程序中调用FB5函数块,模拟量最小值输入0,最大值输入27648,根据热电阻的温度范围0-100度,温度最小值,最大值分别设为0.0,100.0。方法一和方法二转换的温度值结果最终传送到MD20,MD24中。这个函数块不仅可以用于模拟量值转换为工程量,可以用于所有输出随输入线性变化的转换(Y=k(X+a)+b),比如把变频器0-50HZ的频率转换为0-1500r/min的转速。

图片


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多