西门子PLC模拟量线性变换子程序的编写

PLC/PAC

164人已加入

描述

对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。

比如有3个温度传感变送器:

(1)、测温范围为 0~200 ,变送器输出信号为4~20ma

(2)、测温范围为 0~200 ,变送器输出信号为0~5V 

(3)、测温范围为 -100 ~500 ,变送器输出信号为4~20ma

1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。

西门子PLC模拟量线性变换子程序的编写

在plc编程中,只要涉及到数据采集和输出,都会遇到模拟量的线性变换。在西门子300plc编程中,系统自带的两个线性变换功能块FC105和FC106是最常用的两个数据转换模块。FC105和FC106只适用与把采集通道的数字量(INT)转换为物理量(REAL),在一些普适的场合就不适用了。在碰到线性变换时,需要用户自己编写线性变换程序,费时费力还容易出错。本文简单介绍PLC中模拟量线性标定子程序的原理和方法。

1. 线性变换原理

模拟量

线性变换原理。

线性变换的原理很简单,比如说,在工程测量中,常会遇到4-20mA的传感器,如压力传感器或位移传感器等,要转换为0-50MPa的物理量。用高中学过的直线方程两点式就可以了。已知两点(4,0)和(20,50),求(x,y)。

2. 线性变换子程序

以下介绍线性变换的子程序编写。

新建一个功能块(如FC30),在FC30中编写线性变换子程序。

如图1.1所示为线性转化子程序输入变量。如图所示,为了便于使用,输入变量的数据类型都定义为浮点数。(在数据采集中,可能会遇到把采集值(PIW INT)转换为模拟量(REAL)。或者把物理量(REAL)转换为输出量(PQW,INT),此方法已经在我的上一个小技巧教程中介绍过了。)

已知(x1,y1),(x2,y2)两点,求(x,y)。

模拟量

图1.1 线性变换子程序输入变量

如图1.2所示为线性转化子程序输出变量。如图所示,为了便于使用,输出变量的数据类型为浮点数。

模拟量

图1.2 线性变换子程序输出变量

模拟量

图1.3 线性变换中间变量

如图1.4所示为线性转化子程序的逻辑。线性变换的子程序非常简单,就是用加减乘除把线性变换原理中的两点式公式表示出来即可。

模拟量

图1.4 线性变换程序

如图1.4所示为线性转化子程序的应用举例。如图所示,输入段为4-20mA的模拟量,输出段为0-50MPa的压力值。

模拟量

线性变换子程序应用

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分