基于集中温控系统的温度数据采集方法

文档序号:6273143阅读:256来源:国知局
专利名称:基于集中温控系统的温度数据采集方法
技术领域
本发明涉及智能化集中式温控系统,尤其是基于集中温控系统的温度数据采集方法。
背景技术
集中式温控系统,的硬件系统结构参见图1,最上层称为上位机,是系统的中枢,所有的控制输入和输出在此完成;中层为巡检仪,最多可接80台,巡检仪完成温度曲线的下发、基表数据采集和基表控制;最下一层为基表(或称温度控制器:包括PID控制器及温度传感器\热电偶),最多可接80台,完成升温、降温、恒温和报警等功能。这种结构的优点有;1)、系统规模可灵活扩充;2)、上位机可关机,基表的实时数据存储于巡检仪;3)、可大大简化基表的设计复杂程度,大大降低系统成本。由于集中式温控系统可接的温控点理论值是80X80,即系统中巡检仪的上限是80,温控基表上限值也是80,这样系统基表数的上限6400。巡检仪按I毫秒、10毫秒、100毫秒和I秒采集数据一次,采集周期上限值分别为6.4秒、64秒、640秒和6400秒。在温控精度要求不十分高的情况下,多数采用100毫秒和I秒采集数据一次,这时采集周期上限值分别为6.7分钟和67分钟。在实际的工业之中,这样的时间段内温度已经发生变化,采集的数据将是不连续的,绘制的温度曲线会是断断续续的。也就是说按照温控点理论最大值上位机采集数据时,会出现丢失数据的可能:1)、由于环境干扰等情况巡检仪发给上位机的数据是错误的,上位机将丢掉该数据;2)、由于温控点过多,上位机的采集周期错过,读不到数据造成数据丢失。

发明内容
为解决以上技术问题,本发明提供了基于集中温控系统的温度数据采集方法,该方法能将丢失的采集点的数据补充起来,使数据库中的数据完整并且绘制实时温度曲线使比较完整、连续和基本符合实际。本发明的技术方案为:基于集中温控系统的温度数据采集方法,其包括以下步骤:
步骤I)、系统上位机启动上位机串口向巡检仪发送温控曲线;
步骤2)、巡检仪向温控基表按段发送温控曲线;
步骤3)、上位机按照规定的取样周期读取巡检仪存储器中某一基表的实时温度值;如巡检仪存储器中没有采集到温度数据则执行步骤4),如巡检仪存储器中有数据则进一步判断该段数据采样是否完成,如完成则将采集到的温度数据曲线发送至数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
步骤4)、以巡检仪号j和基表号i为查询索引,遍历检索基表的全部历史数据判断上位机数据库中有无与缺失数据匹配的温度数据,如没有则以设定温度曲线值公式(I)来作为缺失时间点或段的温度数据曲线公式计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Y= (y2_yi) / (X2-Xi) X+ (γιχ2-γ2χι) / (χ2_χι)⑴
设X为时间,y为基表的温度值,其中X1和χ2为温度曲线某段的起始和终止时间,Y1和Y2为该曲线起始和终止的温度值;
如数据库中有与缺失数据匹配的数据,则再判断数据精度要求,如数据精度要求高则以公式(2)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
如数据精度要求低则按公式(3)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Uji=MinKYj1-VjiU1, (Yj1-Vji)A……(Yj1-Vji)211' (Yj1-Vji)2nI ⑵
Uji= Σ Vji/n(3)
Uji为丢失温度数据值,^为数据库中相同编号的巡检仪j和相同基表号i在同一设定温度曲线、同一温控段、同一时刻的温度值;Σ 为η个历史数据之和;Υ 为同一基表根据设定温度曲线值 公式(1)计算得到的值。本发明将丢失的采集点的数据补充起来,同时将此数据补充进数据库中,使数据库中的数据完整并且绘制实时温度变化曲线使比较完整、连续和基本符合实际。


图1为本发明实施例集中温控系统的结构框 图2为本发明实施例基于集中温控系统的温度数据采集方法的流程示意 图3为本发明实施例温控基表所在层的具体接线示意图。
具体实施例方式参见图1-图3,本发明实施例基于集中温控系统的温度数据采集方法,其包括以下步骤:
步骤1)、系统上位机启动上位机串口向巡检仪发送温控曲线;
步骤2)、巡检仪向温控基表按段发送温控曲线;
步骤3)、上位机按照规定的取样周期读取巡检仪存储器中某一基表的实时温度值;如巡检仪存储器中没有采集到温度数据则执行步骤4),如巡检仪存储器中有数据则进一步判断该段数据采样是否完成,如完成则将采集到的温度数据曲线发送至数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;步骤4)、以巡检仪号j和基表号i为查询索引,遍历检索基表的全部历史数据判断上位机数据库中有无与缺失数据匹配的温度数据,如没有则以设定温度曲线值公式(I)来作为缺失时间点或段的温度数据曲线公式计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Y= (y2_yi) / (X2-Xi) X+ (γιχ2-γ2χι) / (χ2_χι)⑴
设X为时间,y为基表的温度值,其中X1和χ2为温度曲线某段的起始和终止时间,Y1和Y2为该曲线起始和终止的温度值;
如数据库中有与缺失数据匹配的数据,则再判断数据精度要求,如数据精度要求高则以公式(2)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
如数据精度要求低则按公式(3)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Uji=MinKYj1-VjiU1, (Yj1-Vji)A……(Yj1-Vji)211' (Yj1-Vji)2nI ⑵
Uji= Σ Vji/n(3)
Uji为丢失温度数据值,^为数据库中相同编号的巡检仪j和相同基表号i在同一设定温度曲线、同一温控段、同一时刻的温度值;Σ ^为η个历史数据之和;Υ 为同一基表根据设定温度曲线值公式(I)计算得到的值。数据精度即采集温度曲线与温控曲线的差异度,差异度在正负3%之内属于高精度,正负3%之外属于低精度,数据精度大小可以设置,不限于正负3%。参见图3,本发明实施例中的温控基表可以采用温度调节仪,该温度调节仪的温控线连接至热电偶检定炉。算法设计原理简述约定每隔I分钟就要了解一次基表的温度变化,那么在采集周期上限值为6.7分钟,每个基表分别就丢失了 6.7个数据。对这6.7个数据的采用如下公式计算得到。为简单化,算法描述中基表的个数取[60,6400]区间的上限或下限,即60或6400。基表的个数小于60系统采集不会出现数据丢失,基表的个数大于6400系统无法处理.算法描述(Statistics Temperature Data Fitting Algorithm)
(I)补赏温控数据采集算法的伪C语言描述如下:
STEDAFA (int ThermostatNu m , int j , int i)
{ float V[η], U, Y;
Int η;
If ThermostatNum〈60 then return; / 算法结束 else If ThermostatNum>6400 then{ infobox( “Exceeding the upper limit!,,)return/算法结束
}
Open database ;
Linking database;
If database==not empty then
{
V[l],……V[n]=Read_ database (j, i) ; /以巡检仪号j和基表号i为查询索弓I,遍历检索基表的全部历史数据,设有η个值If精度要求不高thenUji= Σ Vji/n/用公式(3)计算
Else
U=Findmin (V [I],.....V [η], Y) ; / 用公式(2)计算
}
Else
Calculate U = (y2_yl)/(x2_xl)X+(ylx2_y2xl)/(x2_xl) ; /根据设置的曲线f(x)计算y,即用公式(I)遍历 检索bianReturn U;
}
(2)数据采样算法
数据采样算法是指系统的上位机按照规定的取样周期读取巡检仪存储器中某基表的实时温度值,当巡检仪无数据发送或发送的数据有错误时调用STEDAFA算法。其伪C语言代码如下所示:
数据米样算法(Temperature Data Collecting Algorithm)
TDCA (int j, int i)
{ float U;
Int m, n;
Start port 232;/启动上位机串口
If当前时刻在采样周期内then
{
U=Read-1nspection (j, i) ; /读巡检仪J上的I号基表温度数据 If U is not empty or U not exists Error then
{
Send-database (X) ; /将采集到的数据发送至数据库 Send-Mapping(X) ; /发送至温度曲线绘制函数,并启动绘图过程
}
else {
Calculate n, j, i ;/计算出应该补充温值点η的j和i
While m ^ η {Call STEDAFA (int ThermostatNum , j , i) — U; / 调用补赏算法 Send-database (U) ; /发送至数据库 Send-Mapping(U) ; /发送至温度曲线绘制函数,并启动绘图过程
}
}
}
以下进一步描述巡检仪通信协议。(I)、上位机可能发送的指令如下:
校正时钟:校正巡检仪的实时钟。(年月日时分秒)
读取基表参数:读取指定基表内指定的参数值。(基表地址,参数序号) 修改基表参数:修改指定基表内指定的参数值。(基表地址,参数序号,参数值) 下发曲线数据:下发各基表当前温控曲线数据到巡检仪。(基表号,曲线数据)
暂停/启动:控制指定基表暂停或者启动。(基表地址,命令)
采集记录:从巡检仪的数据存储器中采集温检记录。(2)、上位机向巡检仪发送命令 上位机向巡检仪发送命令包,格式如下:
地址,地址反码,07,00,Cl,年,月,日,时,分,秒,校验码L,校验码H 巡检仪执行命令后回送应答包格式如下:
地址,01, 00,结果码,校验码L,校验码H。(3)、读取基表参数
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,03, 00, C2,基表地址,参数号,校验码L,校验码H 巡检仪收到命令,从指定基表读取相应参数数据后回送应答包格式如下:
地址,0B, 00,结果码,基表地址,参数号,PV [2],SV [2],MV, B,参数值[2],校验码L,校验码H。(4)、修改基表参数
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,05, 00, C3,基表地址,参数号,参数值[2],校验码L,校验码H 巡检仪收到命令,向指定基表定入相应参数数据后回送应答包格式如下:
地址,0B, 00,结果码,基表地址,参数号,PV [2],SV [2],MV, B,参数值[2],校验码L,校验码H。(5)、下发曲线数据
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,53,00, C4,基表地址,包序号,曲线数据[80],校验码L,校验码H 包序号:01.(如果下发90段曲线则要分成9个包顺序下发)
曲线数据:每次最多可发送10段曲线数据,每段数据占8字节,结构如下:
起始温度[2],终止温度[2],运行时间[2],控制符[1],标志[I]
巡检仪执行命令后回送应答包格式如下:
地址,01,00,结果码,校验码L,校验码H。
(6)、暂停/启动控制
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,03, 00, C5,基表地址,控制码,校验码L,校验码H 基表地址值若为FF,则表示对所有基表进行控制 控制码:00=暂停,01=启动 巡检仪执行命令后回送应答包格式如下:
地址,01, 00,结果码,校验码L,校验码H。(7)、采集记录
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,05, 00, C6,包序号[4],校验码L,校验码H 包序号:CTxxxxxxx, (512字节/包)
巡检仪回送应答包格式如下:
地址,01,02,结果码,数据[512],校验码L,校验码H 温检记录每条占16字节,格式如下:
标志[1],基表地址[1],温度值[2],年月日时分秒[6],保留[6]。(8)、巡检仪“实时”采集数据通信协议:
上位机向巡检仪发送查询命令包,格式如下:
地址,地址反码,02, 00, C7, 01,校验码L,校验码H 巡检仪回送应答包格式如下:
地址,15,00,结果码,数据[20],校验码L,校验码H
无数据时,结果码=00 有数据时,结果码=01 数据[20]:格式如下:
记录号[4字节,低字节在前]
标志[I字节:01=温度记录,02=报警记录,03=报警解除记录]
基表地址 [I字节]
温度值[2字节,低字节在前]
年月日时分秒[6字节],
保留[6字节]
当结果码=01时,上位机必须再向巡检仪发送数据确认包,通知巡检仪此条记录已经收到,
如果巡检仪没有收到确认包就会一直应答同一条记录。数据确认包格式如下:
地址,地址反码,02, 00, C7, 02,校验码L,校验码 H
数据确认包无应答。实时采集步骤如下:步骤I)、上位机发查询命令包;步骤2)、巡检仪回送应答包;步骤3)、应答包中无数据,回到步骤I);步骤4)、上位机发数据确认包,回到步骤I)。
权利要求
1.基于集中温控系统的温度数据采集方法,其特征在于:其包括以下步骤: 步骤I)、系统上位机启动上位机串口向巡检仪发送温控曲线; 步骤2)、巡检仪向温控基表按段发送温控曲线; 步骤3)、上位机按照规定的取样周期读取巡检仪存储器中某一基表的实时温度值;如巡检仪存储器中没有采集到温度数据则执行步骤4),如巡检仪存储器中有数据则进一步判断该段数据采样是否完成,如完成则将采集到的温度数据曲线发送至数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值; 步骤4)、以巡检仪号j和基表号 i为查询索引,遍历检索基表的全部历史数据判断上位机数据库中有无与缺失数据匹配的温度数据,如没有则以设定温度曲线值公式(I)来作为缺失时间点或段的温度数据曲线公式计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值; Y= (y2_yi) / (X2-Xi) X+ (γιχ2-γ2χι) / (χ2_χι)⑴ 设X为时间,y为基表的温度值,其中X1和χ2为温度曲线某段的起始和终止时间,Y1和Y2为该曲线起始和终止的温度值; 如数据库中有与缺失数据匹配的数据,则再判断数据精度要求,如数据精度要求高则以公式(2)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值; 如数据精度要求低则按公式(3)来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;Uji=MinKYj1-VjiU1, (Yj1-Vji)A……(Yj1-Vji)211' (Yj1-Vji)2nI ⑵ Uji= Σ Vji/n(3) Uji为丢失温度数据值,^为数据库中相同编号的巡检仪j和相同基表号i在同一设定温度曲线、同一温控段、同一时刻的温度值;Σ 为η个历史数据之和;Υ 为同一基表根据设定温度曲线值公式(I)计算得到的值。
全文摘要
本发明涉及智能化集中式温控系统,尤其是基于集中温控系统的温度数据采集方法,其方法的具体步骤为系统上位机按照规定的取样周期读取巡检仪存储器中某基表的实时温度值,该方法能将丢失的采集点的数据补充起来,使数据库中的数据完整并且绘制实时温度曲线使比较完整、连续和基本符合实际。
文档编号G05D23/30GK103116376SQ20131001216
公开日2013年5月22日 申请日期2013年1月14日 优先权日2013年1月14日
发明者李跃新, 刘建伟 申请人:湖北大学, 武汉亚星电子技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1