具体实施方式
参见图1-图3,本发明实施例基于集中温控系统的温度数据采集方法,其不同之处在于:其包括以下步骤:
步骤1)、系统上位机启动上位机串口向巡检仪发送温控曲线;
步骤2)、巡检仪向温控基表按段发送温控曲线;
步骤3)、上位机按照规定的取样周期读取巡检仪存储器中某一基表的实时温度值;如巡检仪存储器中没有采集到温度数据则执行步骤4),如巡检仪存储器中有数据则进一步判断该段数据采样是否完成,如完成则将采集到的温度数据曲线发送至数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
步骤4)、以巡检仪号j和基表号i为查询索引,遍历检索基表的全部历史数据判断上位机数据库中有无与缺失数据匹配的温度数据,如没有则以设定温度曲线值公式一来作为缺失时间点或段的温度数据曲线公式计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Y=(y2-y1)/(x2-x1)X+(y1x2-y2x1)/(x2-x1) (公式一)
设x为时间,y为基表的温度值,其中x1和x2为温度曲线某段的起始和终止时间,y1和y2为该曲线起始和终止的温度值;
如数据库中有与缺失数据匹配的数据,则再判断数据精度要求,如数据精度要求高则以同一基表根据设定温度曲线值公式一计算得到的值Yji减去历史数据Vji之后得到值进行平方取得方差值,取遍n个历史数据得到所对应n个方差值,取n个方差值中最小值,该最小方差值所对应历史数据Vji为丢失温度数据值Uji,以此方法来计算并补充缺失时间点或段的温度数据曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
如数据精度要求低则按公式二来作为缺失时间点或段的温度数据曲线公式来计算并补充温度曲线,然后判断该段温度数据采样是否完成,如完成则将采集到的和补充完毕的温度曲线发送至上位机数据库后再读取下一段数据,如没有完成则上位机按照规定的取样周期继续读取巡检仪存储器中所述基表的实时温度值;
Uji=ΣVji/n (公式二)
Uji为丢失温度数据值,Vji为数据库中相同编号的巡检仪j和相同基表号i在同一设定温度曲线、同一温控段、同一时刻的温度值;ΣVji为n个历史数据之和;Yji为同一基表根据设定温度曲线值公式一计算得到的值。
数据精度即采集温度曲线与温控曲线的差异度,差异度在正负3%之内属于高精度,
正负3%之外属于低精度,数据精度大小可以设置,不限于正负3%。
参见图3,本发明实施例中的温控基表可以采用温度调节仪,该温度调节仪的温控线连接至热电偶检定炉。
算法设计原理简述约定每隔1分钟就要了解一次基表的温度变化,那么在采集周期上限值为6.7分钟,每个基表分别就丢失了6.7个数据。对这6.7个数据的采用如下公式计算得到。为简单化,算法描述中基表的个数取[60,6400]区间的上限或下限,即60或6400。基表的个数小于60系统采集不会出现数据丢失,基表的个数大于6400系统无法处理.算法描述(Statistics Temperature Data Fitting Algorithm)
(1)补赏温控数据采集算法的伪C语言描述如下:
(2)数据采样算法
数据采样算法是指系统的上位机按照规定的取样周期读取巡检仪存储器中某基表的实时温度值,当巡检仪无数据发送或发送的数据有错误时调用STEDAFA算法。其伪C语言代码如下所示:
以下进一步描述巡检仪通信协议。
(1)、上位机可能发送的指令如下:
校正时钟:校正巡检仪的实时钟。(年月日时分秒)
读取基表参数:读取指定基表内指定的参数值。(基表地址,参数序号)
修改基表参数:修改指定基表内指定的参数值。(基表地址,参数序号,参数值)
下发曲线数据:下发各基表当前温控曲线数据到巡检仪。(基表号,曲线数据)
暂停/启动:控制指定基表暂停或者启动。(基表地址,命令)
采集记录:从巡检仪的数据存储器中采集温检记录。
(2)、上位机向巡检仪发送命令
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,07,00,C1,年,月,日,时,分,秒,校验码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
包序号:0~8.(如果下发90段曲线则要分成9个包顺序下发)
曲线数据:每次最多可发送10段曲线数据,每段数据占8字节,结构如下:
起始温度[2],终止温度[2],运行时间[2],控制符[1],标志[1]
巡检仪执行命令后回送应答包格式如下:
地址,01,00,结果码,校验码L,校验码H。
(6)、暂停/启动控制
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,03,00,C5,基表地址,控制码,校验码L,校验码H
基表地址值若为FF,则表示对所有基表进行控制
控制码:00=暂停,01=启动
巡检仪执行命令后回送应答包格式如下:
地址,01,00,结果码,校验码L,校验码H。
(7)、采集记录
上位机向巡检仪发送命令包,格式如下:
地址,地址反码,05,00,C6,包序号[4],校验码L,校验码H
包序号:0~xxxxxxx,(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]:格式如下:
当结果码=01时,上位机必须再向巡检仪发送数据确认包,通知巡检仪此条记录已经收到,
如果巡检仪没有收到确认包就会一直应答同一条记录。数据确认包格式如下:
地址,地址反码,02,00,C7,02,校验码L,校验码H
数据确认包无应答。
实时采集步骤如下:步骤1)、上位机发查询命令包;步骤2)、巡检仪回送应包;步骤3)、应答包中无数据,回到步骤1);步骤4)、上位机发数据确认包,回到步骤1)。