西门子plcs7-1200的设计和功能(1500模拟量线性变换子程序的编写和应用)
西门子plcs7-1200的设计和功能(1500模拟量线性变换子程序的编写和应用)第二步:调用模块,并赋值。注意其数据类型,一般的%IW0为INT,转换后位REAL。 第一步:看是单极性,还是双极性,单极性对应0-27648,双极性(-10V到10V)对应-27648—27648, 单极性:4-20mA,0-20mA,0-10V。 双极性:±10V。 在组态时要选择采集的信号类型。组态完成后,模拟量的采集要经过以下几步:
图片编辑问题,重新发一下。
本楼主上一篇小文《西门子S71200 1500的模拟量线性转换及数据处理》中详细介绍了博途软件中,模拟量的采集和数据处理问题。
在此做一简单的复习,以便引出今天的主题。
常见模拟量采集一般分4-20mA,0-20mA,0-10V,±10V的采集。上述信号按单双极信号分为:单极性和双极性。
单极性:4-20mA,0-20mA,0-10V。
双极性:±10V。
在组态时要选择采集的信号类型。组态完成后,模拟量的采集要经过以下几步:
第一步:看是单极性,还是双极性,单极性对应0-27648,双极性(-10V到10V)对应-27648—27648,
第二步:调用模块,并赋值。注意其数据类型,一般的%IW0为INT,转换后位REAL。
举例:4-20mA压力传感器,对应0-50MPa。
图1.4-20mA 0-50MPa数据采集与处理
在博图中处理模拟量的数据采集和线性变换经过上述两步就可以了。其中NORM_X包含了数据转换的过程。
下面介绍一种更通用更好理解的数据线性转换方法。
1. 线性变换原理
这个也在上一篇文章中讲过来,但讲的不是很详细,这里再介绍一下。
图2.线性变换原理图
图3.线性变换两点式
线性变换的原理很简单,就是已知两点(x1 y1) (x2 y2)求(x,y)。比如说,在工程测量中,常会遇到4-20mA的传感器,如压力传感器或位移传感器等,要转换为0-50MPa的物理量。用高中学过的直线方程两点式就可以了。已知两点(4,20)和(20,50),求(x y)。
2. 线性变换子程序编写。
这个子程序的编写原理也很简单,就是通过(x1 y1) (x2 y2)四个变量,通过 -×÷表示出y与x的关系就可以。这个原理的编写我在比较早的一篇文章中写过,只不过哪时候主推PLC300,写起来更麻烦,这次用博图编写更简单一些。
新建一个功能块FC2:线性变换
新建变量:把所需的变量输入如下:
图4.FC(线性变换)子程序变量
用CALCULATE编写公式。
图5.线性变换子程序编写
从上图可以看出,直接用CALCULATE指令就可完成线性变换的任务,但是这样写容易出错。为了更方便的记忆和调用,在FC(线性变换)中调用指令CALCULATE,然后再在线性变换的时候调用FC(线性变换)即可。一次写好,以后所有的线性变换都可以用了。
3. 线性变换子程序应用
4-20mA压力传感器,对应0-50MPa。4-20mA单极性,对应0-27648。
程序编写如图所示。这个比起博途自带的线性变换更好理解一些。如果是专用与处理模拟量的采集,可以把INT转换为Real这一步也写进FC(线性变换)子函数中。
图6.线性变换子程序应用
本文为 智能工控702原创,版权所有,侵权必究。