NORM_X指令和SCALE_X指令用来实现数据的缩放及转换,在处理模拟量信号数据时经常使用。今天这篇文章,我们就来谈谈这两个指令。
1、NORM_X指令
NORM是英文Normalization的简写,中文翻译为“归一化”。
数据的归一化是将数据按比例缩放,使其落入到闭区间[0,1]之间。既然是按比例缩放,那么必须有该数据的范围,即该数据可能的最大值和最小值。
假设当前数据的值为x,其数据最大值为Xmax,最小值为Xmin,归一化后生成的新数据值为Xnew,则将该数据归一化(Normalization)并产生新的数据Xnew的公式为:
用坐标图表达如下:
在西门子SCL编程语言中,NORM_X指令就是用来实现数据的归一化。
可以在【基本指令】-【转换】中找到该指令,如下图:
假设某个比例阀使用4~20mA电流信号输出,其压力的量程范围为0~25000 mbar,某个瞬时值为TMP_Value1,其归一化后放在变量tag_normalized中,则有如下公式:
注意:归一化后其数据值介于0~1之间,为实数。
2、SCALE_X指令
SCALE_X指令可以将归一化的数据按照比例进行放大,它是NORM_X的逆操作。
SCALE_X指令的坐标图如下:
其中,X是归一化后的数据,Xnew是放大后的数据。
接着上面归一化的例程,假设我们使用模拟量输出模块的量程范围为0~27648,归一化的数据变量为tag_normalized,按比例放大后的变量为tag_scaled,
则比例阀输出控制的代码为:
NORM_X和SCALE_X指令在处理模拟量信号时经常被用到,要理解清楚。
好了,关于西门子SCL的NORM_X和SCALE_X指令就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
西门子SCL编程入门教程连载(9)-NORM_X和SCALE_X指令
来源:本站| 大小:609 KB| 下载次数:3162次
发表评论