智能化现场仪表最早出现在20世纪70年代后期,在20多年的发展历程中,它们的性能、功能、应用模式都发生了巨大变化。本文介绍智能化现场仪表内部硬件、软件结构的变化。
一 早期智能化现场仪表
早期智能仪表是从数字化仪表演化而来的。这个时期的智能仪表普遍采用微处理器,利用微处理器方便地实现了一系列智能功能,包括线性化校正、环境温度补偿、自动量程转换、自动校零、自动校验、自诊断、计量单位转换、数字滤波、平均值、最大、最小值等统计量、各种算法块等,一些仪表还具有数据通信功能。
这一时期的现场仪表因受体积、现场环境等因素制约,智能功能一般较简单。向系统传递的过程信息以模拟4~20mA信号为主,参数设置以就地设置为主,数据通信一般采用点对点方式,有些仪表通信甚至是单向的,仅传送过程信息。由于速度等方面原因,数字通信信息还不能满足实时控制要求。这个时期实验室仪表的智能功能已相当完善,出现了GBIP通信总线。因此可以说,智能化现场仪表的发展是跟着智能化实验室仪表走的。
智能仪表种类很多,但带微处理器仪表的硬件、软件结构有许多共同点。
1. 硬件结构
早期智能化现场仪表典型硬件结构见图1,该结构由当时微处理器芯片的功能决定。
按功能不同智能化现场仪表分为“检测”和“执行”两类,前者泛指各种从对象直接或间接获得信息的仪表,后者泛指各种改变对象状态的仪表。
图1主要针对检测仪表。对于执行器类智能化现场仪表,其硬件结构在A/D和D/A转换器以外的部分与图1不同,其余部分则大同小异。
2. 软件结构
智能化现场仪表的程序组织经常使用状态分析法。在应用中仪表至少应有两种运行状态:工作状态和设置状态。在工作状态仪表执行正常“检测”或“执行”任务,其中包括许多智能功能,如线性化校正、环境温度补偿、自动量程转换、自动校零、数字滤波等。在设置状态仪表执行对各种智能功能的组态和自诊断、自动校验和标定等智能功能。大多数智能化现场仪表,工作状态的各项任务是在线实时执行的,设置状态的任务则是离线执行的。部分智能功能的选用和切换可在线实施,但智能功能的参数设置必须离线进行。
为使智能化现场仪表实现傻瓜化,一般在首次开机时仪表的缺省设置使仪表运行在工作状态,执行仪表的最基本测量(或执行)功能。
工作状态软件结构往往较简单,除开机时的初始化程序外,其余程序呈循环结构。循环结构内的程序是仪表的主程序,主程序内的各子程序分别执行不同智能功能。一部分子程序呈串行或并行选择结构,运行时按设置要求决定是否执行或选择执行某段程序(见图2)。工作状态与设置状态间靠RAM和/或EEPROM保存的标志位和参数交换信息。图2中功能一代表必备功能,功能二代表可选功能,功能三、四、五代表互斥的多选一功能。为确保程序实时性,工作状态下智能功能调用和切换以及键盘处理程序,一般都以中断方式进行。
这时期智能化现场仪表软件的重要特点是:各项智能功能执行的顺序和时间关系是在程序设计阶段决定的,使用时我们可选择用或不用某项智能功能,但不能改变它与其他智能功能间的关系。
设置状态的软件结构与智能仪表的人机界面形式有关。
最简单形式是只有数字显示和很小的键盘(键很少)。这时各项设置只能以轮询方式进行。界面上轮流显示仪表需设置的功能,当出现打算设置的功能,按键转入参数设置状态;在参数设置状态,界面上按位显示参数,按键进行设置;对参数种类很少的情况,也可采取穷举方式显示参数。如果仪表功能较多,为简化设置,可将功能按层次分成组,所有功能的安排呈树状结构。这样的程序结构可用图3表示。
对于多键情况,有分为一键一义形式和一键多义形式。
一键一义形式时,软件可采用键盘直接分析法。这时程序结构最简单,根据所按的键进入指定程序分支,然后设置参数。
对一键多义形式,情况较复杂。有的仪表采用电话键盘形式,键既可以输入数字,又可输入字母;有的仪表采用混合方式,一部分键是一键一义,另一部分键一键多义。键组的功能可通过第二功能键——“2nd”、移位键——“Shift”或控制键——“Ctrl”来扩展。这时设置状态的软件结构就显得有点复杂。可采用“有限状态机”方法来进行键盘状态分析,并依此来设计程序。
对于功能较丰富的智能仪表,设置状态的人机界面程序占仪表程序总量的比重很大。要检查错误设置、限制各种非法参数、避免不同功能间的冲突,总之提高仪表的容错性是体现仪表智能程度的重要一环。可以说,设置状态程序在仪表中起着“操作系统”的作用。
这时期的智能仪表功能还不完备,与现代智能仪表的定义有差距,因此现称作“带微处理器的仪表”。
二 过渡期智能化现场仪表
早期智能化现场仪表的数字化主要是在仪表内部,仪表的过程信号输出主要还是依靠4~20mA模拟信号。一些具有数字通信接口的仪表,其数字信号与模拟信号往往通过不同通道传输。
首先从仪表智能化中获益的是仪表制造者,一些仪表制造者给仪表专门设计了调校和组态用双向通信接口,大大方便了调校,提高了仪表性能。但仪表在使用时是完全模拟化的。这种仪表的数字通信距离一般很近,组态一般由制造商或销售商完成。这种仪表称为“半智能化仪表”。
80年代起,出现了模拟与数字信号兼容的信号制式,使模拟信号与数字信号共用一条通道。兼容方式有采用移频键控(FSK)调制方式,也有分别用4mA、20mA表示“0”、“1”方式。
经过多年竞争,现在以Bell 202协议为基础的HART协议以其开放性成为事实上的工业标准,获得广泛使用。以4mA、20mA表示“0”、“1”的方式,主要用在两线制测量开关(如物位开关,流量开关、光电开关、接近开关等)和半智能化仪表中。
HART以2200Hz和1200Hz的调制信号分别表示“0”和“1”,传输速率为1200b/s,与4~20mA兼容,通常工作在点对点模式,也可采用多点模式。HART协议传输速率较低,仪表每秒可传送2~3次过程量信号。因此在大多数过程控制应用中,控制信号仍采用4~20mA,数字信号主要用于仪表的管理、维护。当然在有些对速度要求不高的场合(如油罐区的测控系统)也可直接采用多点模式的数字通信。
当时智能化现场仪表在数字化方面仍不彻底,但是它却让人们了解了智能化仪表的优越性,逐步学会使用智能化仪表。这时期的数字通信一般是串行、双向的,以点对点通信为主,连网能力很差。通信内容不仅包括过程信息,更多是用于传送遥控组态信息。虽然许多仪表组态仍采用离线方式,但也有一些仪表将许多组态功能改成在线方式,只有校验等功能仍然采用离线方式。
由于采用了数字通信,在一条信道上传送的信息就可以不止一条,这为复合参数智能仪表提供了条件。
这类与模拟信号兼容智能现场仪表的英文名字是“Smart Instrument”,与全数字智能仪表“Intelligent Instrument”不同,但它们的中文译名相同,都叫“智能化仪表”。虽然大家都承认Smart仪表仅仅是一种过渡时期产品,但是它总是在人们预计的“末日”以性能和市场的强劲增长顽强地延续下去。直到2003年其年增长幅度还是超过5%的,现在谁也无法预计这个过渡期有多长。随着近年Smart仪表技术性能的发展和应用面仍然领先于Intelligent仪表,因此有些国际文件开始将Smart仪表作为一个下属部类全部纳入Intelligent仪表观念。
1. 硬件结构
这时期智能化现场检测仪表硬件从功能上可用图4表示。由于各企业广泛采用自行定制的专用集成电路,因此物理上的结构就难以用一种典型产品来表示,两片仪表甚至单片仪表已经商品化。对于执行类仪表,输入信号是4~20mA的,因此图中A/D、D/A转换电路位置互换,传感器、调理器和激励电路块也要做相应调整。
由于要与4~20mA信号兼容,因此硬件中普遍采用低功耗器件,装配工艺普遍采用表面安装技术(SMT)。对于采用通用集成电路的设计,数字电路间的连接一般采用串行接口;串行接口间的连线少,有利于减小体积降低功耗。常用串行接口有:二线接口I2C、三线接口SPI或MicroWire。
这一代智能化现场仪表的人机接口出现了两种风格:一种是仪表本身只有很少键,不直接带显示,需就地显示时,采用串接4~20mA显示单元;另一种是带较少的键和一个LCD。前一种风格只能显示过程量,不能进行完整的就地组态。由于现场仪表就地组态可借助于手持通信器进行,因此这种设计相当经济。第二种风格的设计可以避免使用手持通信器,当系统很小时,节省一个手持通信器往往更经济。
2. 软件
(1)算法
这一代仪表虽然使用MCU(单片微控制器),但是这些芯片功能很强,资源较充沛,价格也较便宜,这些给仪表采用复杂算法和高级语言创造了条件。
从这时开始,人们已广泛接受了这样的设计原则:(1)要把软件可能对仪表精确度造成的影响减小到可以忽略;(2)要把软件可能对仪表精确度做出的改善用足。仔细想想就可以明白,这两条原则对提高仪表产品的性价比来说是最经济的手段。随着高分辨力、高精确度Σ/ΔA/D和D/A转换器价格的下降,人们又将第一条原则改为:将数字部分可能对仪表精确度造成的影响减小到可以忽略。
高精确度Σ/ΔA/D转换器的使用对仪表设计概念的影响是多方面的,例如:现在设计师就可在信噪比允许的情况下取消量程自动转换电路和相关算法。自动量程转换是影响仪表响应时间的重要因素,同时为克服量程的反复切换而设计的量程切换差,产生了小范围的附加回差,这对高精确度仪表也是一种缺陷。在早期智能仪表中引以自豪的必备功能——自动量程切换,到此已经成为要尽量避免的缺点了。
为减小软件对仪表精确度的影响,多项式、样条和多元插值算法,统计算法,实时的最小二乘算法等广泛采用;为利用软件来改善仪表精确度,各种仪表多元模型的研究得到重视。在仪表模型研究方面,我国研究单位和企业的重视是不够的,表现在:(1)很少有人做这方面研究;(2)个别研究也仅限于建立一个理论模型,而没有考虑算法安装在MCU中的可能性和在仪表生产过程中实施的可行性。
根据仪表中复杂算法使用日益增多的情况,编程开始广泛采用C语言,运算中大量使用标准的四字节浮点数(前些年我国曾广泛采用三字节浮点数),在类似PID的积分算法中甚至采用双倍精确度的浮点算法。
这方面最典型的例子是温度变送器,现在各公司在设计温度变送器时都直接实现国际标准公布的分度方程,因此可利用较小程序空间完成所有国际标准热电偶和热电阻品种的高精确度线性化。
(2)软件结构
虽然Smart仪表与模拟信号兼容,在过程控制中将模拟信号作为主要信号;但是我们在设计和使用时必须注意到,在数字控制系统中Smart仪表是系统的一部分。因此我们可方便地用仪表的键或手持通信器对仪表做组态,但所有组态变化都须及时地让系统主机知道。由于HART协议采用主从式访问方式,因此主机不发出访问,从机是无法主动将组态变化情况上传的,这在应用时必须注意。现场仪表要做的是,发生非主机的组态后,在所有返回的应答中做出标记,直到主机了解组态变化为止。
现场智能仪表的软件就功能而言至少分为3个状态:工作状态、设置状态和标定状态。可将3个状态理解为3台CPU。工作状态CPU和设置状态CPU同时工作,工作状态CPU连续工作,处理“测量或执行”任务;设置状态CPU由设置事件触发工作,处理组态任务;两台CPU间通过仪表内存交换信息。标定状态CPU单独工作,处理与仪表的生产调试或定期标定有关的事务。
工作状态的程序仍可用图2表示,但通信有专门定时要求,因此交由设置状态程序处理;显示部分也要做处理,避免与设置态的显示冲突,满足特殊低功耗要求。
标定状态的程序在不同仪表间有较大差异,即使是同类仪表,各企业间也有不同标定方法,因为方法是由模型和算法决定的。
设置状态程序框图见图5。可调用Smart仪表智能功能的途径有两条:数据通信和键盘。由于数据通信是智能仪表的必备功能,而就地显示和键盘往往是选用件,因此软件结构要安排使数字通信部分最简洁有效。对于既有就地显示和键盘又有通信功能的仪表,妥善设计键盘、通信主机和手持通信器同时对仪表实施组态时的仲裁机制和时序关系十分关键。
框图中通信分支从接收命令层到发送命令层的部分对大部分国内技术人员来说较熟悉,但部分技术人员对数据链路层重视不够,以为只要通信接上就行了。通信设计基本前提是:信道是有干扰的,原始通信是会出错的,因此必须有查错和纠错措施。错误分为两类:收发差错和内容差错。收发差错主要指信息与干扰的混淆和时序错误,内容差错指各种对信息的歪曲。Smart仪表纠错措施主要是重发。
数据链路层与物理层一起承担了限制和查找收发差错的任务,也担负部分内容差错的查错任务(用纵横奇偶校验查错)。因此数据链路层是保证现场通信成功的基础。说数据链路层复杂是因为对它不熟悉,其实只要严格按照通信协议中规定的状态图去做),认真实现图上的每条线就能达到协议规定的水平。
命令层对通信差错用核对数据格式、检查状态字与校验和来检查。此外还有内容差错。内容差错也分为两类:一类是通信造成的,另一类是内容本身的差错(如参数超出许可范围)。第一类差错由命令层程序完成查错和自动请求重发任务。第二类差错,由于在键操作也会发生,因此需在处理每条命令时查错并返回出错信息。
智能化现场仪表功能强带来的问题是操作复杂,现场人员做出错误操作的可能性极大,因此我们又有一条设计前提,就是:错误操作是不可避免的。一般而言,现场仪表要能抵御除严重物理损害(包括机械、热和电损害,以及水浸、改变内部电气连接等)外的一切错误操作。由此可料到,仪表软件中诊断和处理出错的程序量是很大的,许多智能化程度较高的仪表,出错处理程序的量远大于仪表基本功能程序。
3. 标定
Smart仪表模拟、数字兼容的信号方式也决定了它的校验标定模式与传统仪表不同。有些概念常常被混淆。
以温度变送器为例。对K型热电偶,IEC 60854.1给出的分度表范围是-270℃~+1372℃,所以变送器的变量下限(Variable Lower Limit, VLL)是-270℃,变量上限(Variable Upper Limit, VUL)是1372℃。但是实际上不可能有一个热电偶传感器用在这么宽的范围,如果这个变送器安装在一支0℃~800℃的热电偶上,那么传感器下限(Lower Sensor Limit, LSL)就是0℃,传感器上限(Upper Sensor Limit, USL)就是800℃。如果打算让200~500℃对应指示4~20mA,那么量程下限(Lower Range Value, LRV)是200℃,量程上限(Upper Range Value, URV)是500℃。
为了便于理解,我们可以把Smart仪表的逻辑结构分成两台仪表,一台是全数字化的仪表,另一台是模拟仪表。数字仪表由两部分组成,模拟信号调理部分和数字信号处理部分。
根据仪表类型不同,数字仪表的标定有两种模式:一种是直接标定数字信号处理部分,将每台传感器和模拟信号调理器的不一致连同非线性等一起全部修正掉,典型例子如压力变送器。另一种是不同的传感器采用统一的数字信号处理,标定时仅仅将不同传感器的信号归一化,典型例子是温度变送器。
在数字信号处理部分,它的变量范围是从VLL到VUL,这个范围在变送器设计完成以后就不可变了。变送器与传感器组装时要在仪表内设定LSL和USL。当信号超出LSL、USL或VLL、VUL时,仪表会按约定的方式报警。LSL、USL、VLL和VUL的设定是由制造厂完成的,用户不需要做。
模拟仪表是数字仪表的模拟形式表现。数字仪表传给模拟一串数字,模拟仪表将数字转换成电流。但是电流转换的是否准,这是需要在4mA和20mA标定的,标定模拟电流输出是Smart仪表特有的。仪表出厂时一般取LRV=LSL和URV=USL,使用时可以根据需要设定LRV使之对应4mA输出,设定URV使之对应20mA输出。
Smart仪表必须分别进行数字仪表的标定和模拟仪表的标定,才能保证数字输出和模拟输出都是精确的。
一些用户不理解数字仪表与模拟仪表的区别,将Smart仪表像模拟仪表一样进行零点和量程的标定,这样标定会失去智能化仪表应有的高精确度。只有在数字仪表的标定已经完成的情况下,这种简单的标定才会有好的结果。
还有一点概念上的问题,就是许多技术人员总是像考虑传统仪表一样,以为设定LRV和URV时在对仪表的前级信号调理部分进行调整,其实Smart仪表中通常只有模拟输出是可以调整的。
三 新型智能化现场仪表
新型智能化现场仪表指全数字化现场总线智能仪表,它们同时具有信息的采集、储存、处理和传输功能。它们加工的信息包括:过程对象、自身状态、与其他仪表的关系和系统管理等信息。由于单台仪表处理信息的能力有限,因此经常需几台仪表联合,甚至需系统主机参与处理某些信息,因此通信功能强弱对仪表的智能程度非常重要。
虽然现场总线种类很多,智能化现场仪表的制造商也很多,采用技术不完全相同,但是在仪表结构上的发展趋势是共同的。
1. 硬件结构
硬件结构见图6,与前面两种结构最大不同是分为了两部分:智能传感器部分与数据处理和通信部分。对执行器类仪表智能传感器部分的结构框图有些不同。
智能传感器部分包括信号调理器、A/D转换器和EEPROM(电可擦除只读存储器)或其他非易失存储器,EEPROM用于存放与传感器有关的线性化、温度补偿等标定数据和一些管理信息。虽然与这块EEPROM有关的运算是在数据处理和通信部分进行的,但把它放在智能传感器部分带来了很大好处。主要是:(1)传感器完全可互换;(2)针对不同现场总线,传感器部分可以统一。
数据处理和通信部分包括不直接涉及传感器的各部分,这部分也有一块EEPROM或其他非易失存储器,主要用于存放与仪表的组态及现场总线有关的信息。与传感器分离后,在硬件上与传感器完全脱钩,因此只需为不同现场仪表准备不同软件,原则上用一种卡件就可满足各种现场仪表的需要。
这种分体结构使企业只需针对每种现场总线设计一种数据处理和通信卡,针对每种传感器设计一种传感器卡,两类卡组合可产生多种现场总线智能仪表。分体结构对加快新产品开发,降低开发和生产成本产生了很好效果。
智能化现场温度变送器由于体积特别小,因此一般不采用这种分体结构。
进一步发展趋势:在智能传感器部分安装一片集成了A/D转换器和EEPROM的MCU,这样智能传感器部分输出的是标准化数字信号。
仅从仪表外部设备看,新型智能化仪表甚至比前几代仪表简化了,但就通信和显示内容与前几代仪表比,信息量和信息所反映问题的深度已不可同日而语,仪表信息化的趋势已经显现。在这种情况下,8位MCU已经显得力不从心,16位、32位嵌入式MCU(EMCU)成为主流,整合了通信功能的EMCU尤其受欢迎。一些嵌入式芯片集成了通用系统的主要部分,形成单片系统(System on a Chip, SoC)。
2. 软件结构
新型智能化现场仪表的软件结构与前两种仪表不同。智能功能以功能块形式出现,功能的调用以事件触发形式进行(如时间触发事件),因此智能功能执行顺序与程序编写无关,不仅通过组态随时可改变,使用中也会有变。事实上许多智能化现场仪表采用实时多任务系统,因此各功能块可简化地看作是同时运行。
软件与仪表输入、输出端的接口也与前两种仪表不同。前面讲到仪表硬件已经是分体的,数据处理和通信部分需面对不同传感器和执行器接口。向下现场总线仪表采用类似传感器块和资源块形式制作软接口,简化内部程序对外部设备(传感器)的访问。随着OPC(OLE for Process Control)技术的推广,仪表向上与系统间的接口也大大简化。仪表只要按照OPC规定的结构和格式编写程序,就可很方便与各种系统连接。
随着仪表软件和硬件能力的提高,智能化仪表的功能已不局限于检测和执行,许多控制系统的功能也开始装入仪表,随之而来的是部分原控制系统低层工作站的任务也下移到了现场仪表。这极大丰富了仪表智能化的内容,同时也大大增加了仪表软件的复杂性。
总而言之,仪表软件技术的发展方向之一是大量吸收信息技术的成果,在数字化基础上迅速提高智能化和网络化水平。针对上述情况,还像前几代仪表一样继续由少数几个工程师编制软件,已经显得既不经济也难以行得通了。
新型智能化仪表典型软件结构是:基础嵌入式实时操作系统平台+以现场实时通信为核心的测控仪表专业系统平台+应用软件。
基础嵌入式实时操作系统平台主要功能是:实时任务调度、系统资源访问等,部分操作系统将基于TCP/IP的通信也融入其中。典型系统有:VrTX、Nucleus、pSOS、VxWorks、Mc-OSII、RT-Linux等。对于一些对硬实时要求不太高的产品,也有用WinCE和PalmOS的。
测控仪表专业系统平台的核心任务是:确保仪表通信的一致性和仪表功能的可互操作性。主要包括现场通信栈、仪表功能块、仪表的电子设备描述以及分别针对温度、流量、压力、物位、成分和执行器等仪表行规。仪表功能块将智能仪表的常用功能规范化,给仪表的开发应用带来了极大方便。
应用软件要解决传感器的激励、信号处理、多传感器数据融合等。
有了上述两种依托信息技术发展建立起来的仪表共性系统平台,一般仪表应用软件就较简单,许多功能通过组态就可实现。但是针对传感器信号处理的核心技术也在这里,这是我国仪表行业特别薄弱的地方。
3. 标准化情况
IEC 60770-3对智能变送器的定义是:“具有与外部系统和操作人员双向通信手段,用于发送测量、状态信息,接收和处理外部命令的变送器”。智能仪表的核心是三要素:(1)双向通信功能;(2)除测控信息外还要发送状态信息;(3)能接受外部命令的控制。同时应注意到智能仪表的“智能”目前与“人工智能”无关。
现场总线技术给智能化仪表的发展带来了飞跃也带来了一些新问题。问题之一是仪表评估变得非常复杂,因为当对仪表进行一对一(一台主控计算机对一台仪表)测试时的性能与多台仪表一起工作的性能不同;仪表不同的组态可实现同样的功能,但性能不同;仪表性能与网络布置方式、组态状态和网络负荷都有关系。造成这种情况的根本原因是仪表与现场总线的联系太紧密了,以至于我们无法脱离对现场总线的评价来单独评估仪表的性能。我们不得不把仪表性能分为两类:与时间无关的(如精确度、漂移等),与时间相关的(如响应时间、PID控制等)。与时间相关的性能也与现场总线的性能、组态等有关。
总之,三代智能化仪表的软硬件结构有很大区别,更重要的是它们在信息化水平上的区别。带微处理器的仪表主要提供过程量信息(如温度、压力),Smart智能仪表除提供过程信息外还提供仪表的状态信息(如仪表是否有故障、当前表内温度)和辅助参数信息(如对差压表的温度和静压),智能仪表除提供过程和状态信息外还提供通信质量信息和信息处理功能(如各种运算功能)。因此可以说网络化是智能仪表手段,信息化是智能仪表的目的。