当前位置:首页 > 新型工业化 >西门子1200 模拟量转换(西门子plc1200模拟量转换)

西门子1200 模拟量转换(西门子plc1200模拟量转换)

在PLC编程中,最常遇到的就是将现场模拟信号转换成实际工程值,比如将0~20mA/4~20mA/0~10V等现场变送器的电流或电压信号转换成0 ~10MPa、0~100等工程值。对于西门子S7-300/400,可以使用FC105/FC106来实现转换。对于S7-200/SMART200,可以使用SCALING库程序进行转换。当然,你也可以根据相应的转换关系自行进行。编写更符合现场要求、功能更多的子程序和FC/FB块。那么新手如何使用博图TIA快速实现呢?

第一种方法:自己编写程序进行转换

西门子1200 模拟量转换(西门子plc1200模拟量转换)

大家都知道模拟量转换的通用公式为:Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl Ov:转换结果,如温度50的工程值; IV:转换对象,为模拟量模块采集的值; Osh:转换结果的上限,如100; Osl:转换结果的下限,如0;

ish:转换对象的上限,如27648; isl:转换对象的下限,如0;

然后使用CONVERT和CALCULATE指令来完成。 CONVERT用于将模拟模块采集到的int类型的数据0~27648转换为实数类型Real,如图:

然后使用CALCULATE对转换后的实数进行数学运算,即根据公式:Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl,如图:

这样,你编写的程序就可以将模拟信号转换成工程值。当然,还可以添加信号处理,比如直接将小于0或大于27648的值赋值为0或27648,并进行报警处理。

第二种方法:使用“SCALE_X”和“NORM_X”指令转换模拟值。 SCALE_X 是“缩放”,NORM_X 是“标准化”。该功能块位于TIAPortal 指令的“转换操作”中。详细的功能和参数说明请参见帮助。获取某个功能块的在线帮助。

计算公式:SCALE_X_OUT=[(NORM_X_VALUE - NORM_X_MIN)/(NORM_X_MAX - NORM_X_MIN)] * (SCALE_X_MAX - SCALE_X_MIN) + SCALE_X_MIN NORM_X 中,上限和下限分别为MAX=27648 和MIN=0。 SCALE_X 中等范围转换对应于MAX=80 和Min=0。输入值是整数数据类型,范围转换后的输出值是实数数据类型。 NORM_X_VALUE 对应模拟量模块采集的值。

至此,西门子Porto TIA平台上的模拟量转换已经讲解完毕。具体应用需根据现场要求而定。这里只是简单的范围转换。在实际应用中,需要预先对输入信号进行滤波、相关报警处理等处理。

审稿人:李茜

最新资讯

推荐资讯