面对目前的市场竞争,国内众多的变送器生产厂家都把变送器的HART智能化改造作为技术革新的方向;力争通过HART智能变送器的推出进一步开拓市场。
如何实现变送器的HART智能化改造成为摆在众多变送器生产厂家面前的一个问题。尤其是对一些已经智能化改造、但不能完成总线通讯的变送器,怎样在保证现有产品相对独立性的基础上添加HART通讯功能,很多技术人员都在研究。
一些技术人员存在一种观念,即一台4~20mA标准输出的两线制变送器只需要添加一块HART协议通讯卡就可以完成变送器的HART改造;实际上这种想法是不可行的。下面从HART协议可以实现的功能进行阐述。
一台符合HART协议智能变送器若已通过HART基金会的应用层测试,应该可以通过HART通讯完成一些最常规的功能,包括:
* 读取变送器测量动态变量,如主变量、输出电流等;
* 设定变送器处于多点(输出电流固定)或者单点(输出电流4~20mA)模式;
* 设定、读出必要的变送器管理信息;
* 读出变送器所连接传感器的相关参数;
* 获得变送器的生产厂商、设备类型、HART协议版本等基本信息。
如上所述,可以通过HART协议对变送器的电流输出进行控制,也就是说电流环路输出与HART通讯模块是一个整体,不可分割。因此,上面提及的改造模式对于两线制变送器来说是不能实现的。
一般来讲,除了上述最基本的功能外,符合HART协议智能变送器还可以通过HART通讯完成其他几项功能:
* 设定变送器测量量程
* 设定变送器输出阻尼
* 完成传感器的线性化
本文下面介绍一种比较简单的方法,可以实现普通智能变送器的HART改造。
原有的智能变送器电子板中剔除电流输出控制模块,保留传感器激励、传感器信号采集、信号运算处理等功能模块(本文以下将保留部分简称为“信号采集处理模块”)。HART通讯模块的中央处理单元(CPU)与信号采集处理模块中的中央处理单元(CPU)直接串行传递数据。对于信号采集处理模块中的CPU而言,原用于控制电流输出的I/O口线可转而用于CPU通讯,基本不增加硬件负担。CPU的软件中也相应的去除控制电流输出的程序,添加用于CPU之间串行传递数据的功能模块。
对于HART通讯模块而言,不发生HART通讯时,周期性通过CPU之间的数据传递从信号采集处理模块读取动态变量;发生HART通讯时,不定期的通过CPU之间的数据传递设定变送器的运算、控制参数。在双CPU的数据传递中,HART通讯模块中的CPU处于支配地位,负责启动数据传递及验证数据传递的正确性。
对于一些HART协议规定的与变送器动态变量运算、输出无关的管理信息等通讯参数,HART通讯模块可以独立处理,无需启动双CPU之间的数据传递。一些必需双CPU数据传递的变送器参数在下面列出:测量动态变量(包括主变量、输出电流数值等)、量程、输出阻尼、传感器线性化参数等。对于不同种类的变送器,需要传递的数据也有很大的不同,多则数十个,少则几个。
用于实现双CPU之间串行数据传递的方法有很多,本文介绍一种适用于我们需要的主从式数据传递模式。
数据传递功能:
主CPU读取从CPU指定参数(在物理上可以表现为存储空间地址)的数据,或者将数据写入从CPU的指定参数。
通信接口:
两块CPU之间通过四根口线连接,分别定义为:CLK、DATA1、DATA2、CONTROL;主CPU全部采用普通I/O口线,从CPU除去CLK应用外部中断口线外,其他三根口线也均使用普通I/O口线。主CPU按某一周期中断从CPU,从CPU接收中断信号,并做相应处理。
数据传递时序:
假设从CPU的时钟频率为1.8432MHZ,T2的最小值为248微妙;T1+T2的最小值为 312.5 微妙。
为确保数据传递的可靠性,主CPU向从CPU写入数据时,可以通过先写入,后读出,比较数据是否相同;主CPU由从CPU读出数据,可以连续读取两次,比较数据是否相同。若不同,则连续执行写入或者读出操作。
总之,通过上面谈到的HART通讯模块与信号采集处理模块之间CPU数据传递的模式对现有的普通智能变送器进行HART改造,只需要对原智能变送器的电子板做微小的改动,实现周期短,可以比较快的将新产品推向市场。当然,在实际改造过程中,也有许多的具体问题需要仔细考虑,如信号采集处理模块的功耗、双方数据传递的具体参数定义等。这时,只能根据实际情况把握。