实用经验之谈:PLC系统的流量积算方法参考
目前,具有众多不同品牌的仪器仪表,用来测量工业现场液体或者固体的瞬时流量,然后通过4-20mA信号传递给PLC,作为控制或监控的数据标准。PLC根据瞬时流量积算一定时间内的累积流量,对于流程工业控制领域液体或固体流量的数据分析和产量计算应用具有重要的意义。
1、PLC系统中实现流量积算的方法
首先必须明确,用PLC做流量累计的精度远不如电磁流量计等本身自带累计功能的流量计。对有累积功能的流量计转换器,一般流量转换器的流量累积输出是脉冲输出,可通过PLC的高速脉冲输入端进行高速计数,从而得出累积流量。
对只有瞬时流量输出的流量计,才考虑在PLC中进行流量累积加法运算。在 PLC内做流量累积的时候,不应使用定时器来做,因为定时器受到PLC扫描周期的影响,没法做到十分精确,累加出来数据的误差很大。
目前,一般的中大型PLC都直接或者间接提供了“Totalizer”功能块, 实质都是把每个采集周期的瞬时流量进行简单累加。本文提供了一种将定积分计算引入到流量累积的具体方法,以供参考。
2、定积分计算法引入流量积算的几何意义
设瞬时流量q=q(t)在时间段t的[a,b]区间连续,那么流量累积计算公式为:
图1 瞬时流量
有定积分的几何意义,求时间a到时间b区间内的总流量Q,只需要计算曲线q=q(t),直线t=a,直线t=b和时间轴t所围成的曲边梯形面积。在区间a,b内插入若干个平分点:a=t0<t1<t2<…<tn-1<tn=b,把区间[a,b]分成n个小区间:[ti-1,ti],求每个区间长度Δt上的区间累积流量,只需求第i个小曲边梯形的面积。我们可以把每个小曲边梯形近似看作是小梯形,见图2:
图2 瞬时流量分割图
面积计算:
如果分割无限加细,区间个数n趋向于无穷(n→∞)时,总流量计算为:
3、TIA Portal V15具体实现积分累积流量的方法
以下以Siemens PLC系统的TIA Portal V15为例,实现积分累积流量的方法:
3.1 在程序目录下添加新的FB函数块,确定名称如“Totalizer”,为了实现数值计算的简单性,这个功能块的编程语言选择结构化文本语言SCL。
3.2 打开新建功能块,并建立临时变量,如下图所示
变量定义:
变量名:Reset,数据类型:Bool,分组:Input,作用:FB接收外部传递的累积清零命令;
变量名:Value,数据类型:Real,分组:Input,作用:FB接受外部传递的瞬时流量数据,需要注意的是:一般流量计瞬时流量单位是m3/h,这里需要统一换算成m3/s,即PLC接收的瞬时流量除以3600后再输入此处;
变量名:Cycle,数据类型:TIME,分组:Input,作用:FB接受程序循环时间,单位:秒,
在这里,Cycle值为0B30中断循环块的循环时间。
变量名:Last_Value,数据类型:Real,分组:Static,作用:静态存储上一扫描周期的瞬时流量值;
变量名:Accum,数据类型:Real,分组:Static,作用:静态存储流量累积值;
变量名:Cycle_DInt,数据类型:Dint,分组:Temp,作用:在FB中零时存储Cycle转换为Dint数据类型后的值;
变量名:Cycle_Real,数据类型:Real,分组:Temp,作用:在FB中临时存储Cycle_DInt转换为Real数据类型后的值;
变量名:Total,数据类型:Real,分组:Output,作用:FB向外部传送流量累积值。
3.3 程序编写,如下图所示:
程序编写完成后,进行编译,编译没有错误时,可供调用。
3.4 在流量计算功能的FC中调用名字为“Totalizer”的FB块,并对输入输出参数赋值,如下图所示:
3.5 在OB30中调用流量计算FC功能块,OB30中断块是循环中断块,循环时间设置为100ms,如下图所示:
3.6 程序解读
4、PLC系统中流量计算的其它问题
上述程序只是简单示例,实际应用中,需要根据实际情况考虑更复杂的问题,比如:
▶对于积分算法,取小的矩形对流量进行累计,肯定是矩形划分越细(也就是OB30的循环时间越短),误差越小,不存在误差是不可能的。
▶流量计本身有累计流量功能,同时可以把瞬时流量以模拟量的方式(例如4-20mA)输出,但无法将累计流量数值送出。那么,流量计本身累积流量的数值,最后很有可能与PLC的累计流量数值相差很大,原因可能是多方面造成的,除去系统累计流量误差的因素,如果PLC系统停电检修或者更换相关模块时,流量计还在计量,则PLC无法累积这部分流量。
▶累积数值的自动和手动清零,以免数据溢出。其中自动清零的时机要结合程序考虑好。
▶在流量累积编程时应避免数量级相差太多的浮点数之间进行运算。如果没有适时清零,流量累积程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0与0.2做加法操作)。其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,这个问题可以通过使用二级累加或多级别累加的方法来解决,比如每一级累加器只能进行规定级别大小的数据累加,当一级累加器的累积数据大到一定程度时,立刻把数据传送到二级累加器,然后把一级累加器清零。
版权提示:本文为中华工控网(工控论坛)原创,作者 陆宁,转载请与我们联系,否则必将追究法律责任。
PLC编程-模拟量输入处理
自动化项目开发过程中,对模拟量的处理是经常遇到的应用场景。如温度测量、压力测量、液位测量、流量测量等,均为模拟量信号传输。在这些信号形式上,又区分为电流信号和电压信号;在信号的范围上,又有-5V~+5V、0V~5V、-10V~10V、0V~10V、0mA~20mA、4mA~20mA等。然在PLC上又是如何处理这些不同类型的信号的?下面就给大家分享在PLC中是如何处理这些模拟量信号的。
压力变送器-模拟输出
PLC与模拟量变送器的接线如下图所示:
台达PLC的模拟量模块接线图
在以上图片中,可以看到PLC的一个通道既可以接收电压输入信号亦可以接收电流输入信号(绝大部分的PLC均是这样)。在进行接线设计的时候,依照变送器的信号,选择对应的接线方式。其中特别注意,信号的正负方向一定不可反接。
PLC如何将模拟量信号转换为程序可以处理的数值?
PLC信号数字转换范围
以上为台达PLC的模拟量输入模块部分技术参数。以4mA~20mA为例,通过以上表格可以看到,输入电流4mA~20mA对应与数字转换的范围为0-32000.即当电流为4mA时,对应与数字0;电流为20mA时,对应与数字32000.有如下所示对应曲线:
电流信号与PLC数字间的对应关系
从以上关系,可以看到,当输入电流为12mA时,PLC内部的数字信号值为16000.由以上,可以总结出,输入电流信号与PLC读取数字信号之间的转换关系如下:
其中,Gain定义:当数字输出值为16000时的电流值。
Offset定义:当数字输出值为0时的电流值。
PLC电流信号与数字信号的转换关系
在进行模拟量信号处理的过程中,按照以上处理方式进行数字转换对应,即可将变送器的模拟量信号转换为PLC程序可以处理的数字信号。
以下为不同类型电压、电流信号与输入数字之间的对应关系:
±10V、±5V信号与PLC输入数字间的对应关系
±20mA、0-20mA信号与PLC输入数字间的对应关系
相关问答
plc能通过编程实现S型加减速曲线吗?
可以,用伺服电机没问题,前提是成本高,而且伺服电机的功率可以满足要求。普通电机由于惯性太大,要做到完全曲线不太容易。可以,用伺服电机没问题,前提是成本高...
怎样求单容水箱PID的曲线,GX怎么不能仿真出曲线,PLC-?甜...
求单容水箱PID曲线可以通过以下步骤:1.确定PID控制器的参数,即比例系数、积分时间和微分时间。这些参数可以通过试验或模拟的方法进行确定。2.确定...
1500plc触摸屏如何设置曲线连接?
你好,1.打开PLC程序,找到需要设置曲线连接的点位。2.在点位的属性设置中,找到曲线连接的选项,打开该选项。3.设置曲线连接的参数,包括曲线类型、曲线起...
西门子PLC怎么做一个时间曲线?
要在西门子PLC上创建一个时间曲线,你可以使用定时器功能块来实现。1.首先,创建一个定时器功能块。在TIAPortal软件中,打开PLC程序,然后右键点击[程序]文件...
2022湖南对口招生考试电子电工类专业考试基本要求及考试大纲...
电子电工类专业综合知识考试基本要求及考试大纲一、考试基本要求(一)基本知识和基本技能的考试要求1.掌握电工技术和电子技术专业的基础知识、基...
plc控制器能使XY轴跑任意轨迹吗
[最佳回答]不能..PLC如果用来定位的话.,直线定位最方便.对轨迹有要求的话.要自己写算法.例如圆弧.其它例如曲线的话..我想用PLC来做的话.做到的人太少了吧...
请问plc如何采集压力传感器测得的压力值,以及,如何通过触摸屏显示压力曲线?
你的PLC要用模拟量端口来接受传感器的模拟量数据,然后在程序里做转换就可以了。你的PLC要用模拟量端口来接受传感器的模拟量数据,然后在程序里做转换就可以了。
西门子S7-200PLCPID如何控制变量按时间线性变化?
第四步:使用PID控制温度达到新设定的温度设定点。第五步:多次进行第三步和第四步,最终达到要求的温度。说明:每次设定的温度设定点都是你要求的曲线上的...
在PLC中使用数学问题有哪些?
在PLC(可编程逻辑控制器)中使用数学问题主要涉及以下几个方面:算术运算:PLC可用于执行基本的算术运算,如加法、减法、乘法和除法。这些运算可用于各种应用,...
plc控制步进电机能走出弧形吗?
是的,PLC控制的步进电机可以走出弧形。步进电机通过控制脉冲信号的频率和方向来实现旋转,而PLC可以生成精确的脉冲信号。通过适当的编程和控制算法,可以使步进...