电工学习网

 找回密码
 立即注册
查看: 7206|回复: 0
打印 上一主题 下一主题

西门子S71200 1500模拟量线性变换子程序的编写和应用

[复制链接]
跳转到指定楼层
楼主
发表于 2019-10-26 19:41:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在此做一简单的复习,以便引出今天的主题。
常见模拟量采集一般分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。
西门子S71200 1500模拟量线性变换子程序的编写和应用
图1.4-20mA,0-50MPa压力传感器数据采集及处理
在博图中处理模拟量的数据采集和线性变换经过上述两步就可以了。其中,NORM_X包含了数据转换的过程。
下面介绍一种更通用更好理解的数据线性转换方法。
1. 线性变换原理
这个也在上一篇文章中讲过来,但讲的不是很详细,这里再介绍一下。
西门子S71200 1500模拟量线性变换子程序的编写和应用
西门子S71200 1500模拟量线性变换子程序的编写和应用
图2.线性变换原理图
西门子S71200 1500模拟量线性变换子程序的编写和应用
图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:线性变换
新建变量:把所需的变量输入如下:
西门子S71200 1500模拟量线性变换子程序的编写和应用
图3.FC(线性变换)子程序变量
用CALCULATE编写公式。
西门子S71200 1500模拟量线性变换子程序的编写和应用
图4.FC(线性变换)子程序编写
从上图可以看出,直接用CALCULATE指令就可完成线性变换的任务,但是这样写容易出错。为了更方便的记忆和调用,在FC(线性变换)中调用指令CALCULATE,然后再在线性变换的时候调用FC(线性变换)即可。一次写好,以后所有的线性变换都可以用了。
3. 线性变换子程序应用
4-20mA压力传感器,对应0-50MPa。4-20mA单极性,对应0-27648。
程序编写如图所示。这个比起博途自带的线性变换更好理解一些。如果是专用与处理模拟量的采集,可以把INT转换为Real这一步也写进FC(线性变换)子函数中。
图5.4-20mA压力传感器,对应0-50MPa。4-20mA单极性,对应0-27648。

来源:智能工控702

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-26 11:01

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表