摘要:针对汽轮机监控数据的特点,本文提出了一种基于IEEE754的汽轮机监控数据处理方法。该方法有效地解决了指数尾数转换问题,能够使汽轮机监控数据及时、准确地显示,保证汽轮机安全、稳定运行。
关键词:浮点数;指数尾数;数据转换;IEEE 754;汽轮机
引 言
随着我国经济的高速发展,汽轮机在电力、化工、钢铁等重要领域中有着举足轻重的地位。汽轮机的转数调节、工况控制直接影响汽轮机机组的安全性、经济性,因此汽轮机的安全运行至关重要,如果不能对其进行快速、准确地监控,那么容易导致汽轮机机组发生故障、甚至瘫痪,从而造成巨大的经济损失。
目前,由于数字式电液控制系统 (DEH)能够高效协调控制汽轮机机组,使其运行稳定,工业上多采用DEH对汽轮机机组进行调节控制,并与集散控制系统(DCS)进行通信,将重要的汽轮机数据在DCS上显示,便于实时监管汽轮机运行状态,当问题发生时,也能及时处理。但是往往由于DEH和DCS之间的型号不同,就容易造成汽轮机数据在传输过程中出现数据传输不过来或者是错误数据等不确定问题。比如ABB公司集散式控制系统(DCS)在接收汽轮机数据时,主要是通过指数尾数转换模块将RS485的汽轮机数据传输到操作员站,但是,在传输的过程中发现,数据超过10000时,指数尾数转换模块传输的数据是错误的数据、不是真实的数据,而且该模块的传输数据范围也不能满足实际应用,此类问题是共性问题,因此有必要对上述问题进行有效的解决,保证汽轮机安全、可靠、稳定运行。
本文根据实际应用中需要采集的汽轮机数据为实型数据的特点,采用IEEE754标准,对汽轮机数据进行高效地处理,使其能够在不同设备间进行准确、有效地传输,便于对汽轮机的运行状态进行有效监管。
1 浮点数
计算机中数据的基本类型包括整型、实型、和字符型三大类[1]。实型数据的存储格式比整型、字符型数据复杂,一般用浮点数进行表示。浮点数是指采用指数方法,利用小数点的位置可以根据需要左右浮动,灵活地表示更大范围的实型数据。
一个实型数据A可以用一个尾数(Mantissa,尾数实际上是有效数字的非正式说法),一个基数(Base),一个指数(Exponent),和一个表示正负的符号来表示。例如12345.6用科学计数法可以表示为1.23456104,其中,1.23456为尾数,10为基数,4为指数。规范的浮点数表示方法如下[2-4]:
2 指数尾数转换
ABB 集散式控制系统(DCS),采用指数尾数转换模块对其汽轮机数据进行处理,并传送到操作员站上,以供操作人员对汽轮机数据进行监控。指数尾数转换规则如表1所示。
指数尾数转换模块,在处理小范围数据时,可以保证数据准确地传输,但是当汽轮机数值超过10000时,就会出现数据传输不正确。因此,指数尾数转换模块在处理汽轮机数据时,有一定的弊端。
.png)
3 IEEE 754标准
IEEE 754标准于1985年提出,是当前二进制浮点运算的格式标准。IEEE 754标准规定了两种基本浮点格式,分别为单精度和双精度。IEEE 754标准要求浮点数必须是规范的,实数R的二进制科学计数法可以表示为
.png)
浮点格式中最高位是符号位,中间是指数域,对应于二进制科学计数法中的指数部分,指数部分称为浮点数的阶码,采用移码方式存储[5]。单精度浮点数要指数值加上偏移量127,双精度要指数值加上偏移量1023.对于单精度浮点数,可以表达的指数真值范围在-128到127之间。指数真值-128和-127保留用作特殊处理,指数真值加上偏移量127之后,指数E的机器值为1到254,即采用移码后,指数的机器数全部用正数表示,便于比较浮点数的大小。指数真值范围在-126和127之间的浮点数称为规格化的浮点数。,浮点格式的最后是尾数域,规范的二进制数的尾数小数点前面总是1,所以,在保存尾数时,可以省略小数点前面的1.
.png)
如果运算结果的十进制位数(包括整数位数和小数位数)小于7,为m位,则可以选用单精度浮点数,如果运算结果的十进制位数大于7小于等于15,为n位,可选择使用双精度浮点数。
4 汽轮机监控数据处理方法
鉴于IEEE 754在处理实型数据方面的优点,本文根据汽轮机数据特点,将其应用到实际工程项目中,有效地解决了指数尾数转换问题。
5 结 论
本文根据汽轮机数据传输过程中的实际工程问题,提出了一种基于IEEE754 的汽轮机监控数据处理方法,该方法有效地解决了指数尾数转换问题,能够使汽轮机数据快速、准确地显示到操作员站上,便于操作员及时监控汽轮机运行状态,以保证汽轮机安全、稳定运行。
参考文献:
[1] 高辉. 计算机系统结构[M]. 武汉:武汉大学出版社,2006: 45-47.
[2] 张宗杰,张明亮. C语言中浮点数的存储格式及其有效数字位数 [J]. 计算机与数字工程,2005,34: 84-86.
[3] 何晶, 韩月秋. 一种新的整数转换为浮点数的方法[J]. 计算机工程, 2003, 11(19): 29-38.
[4] 郑莉. C++程序语言设计[M]. 北京:清华大学出版社, 2004:24.
[5] 蒋本珊. 计算机组成原理 [M]. 北京:清华大学出版社, 2004:26-30.
作者简介:张健(1988-06-08),男,汉族,籍贯:辽宁省阜新市彰武县,当前职务:技术员,当前职称:工程师,学历:大学本科,研究方向:自动化