著录项信息
专利名称 | 基于I2C的网络化变送器及其通信实现方法 |
申请号 | CN201410318169.1 | 申请日期 | 2014-07-03 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-11-19 | 公开/公告号 | CN104155891A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G05B19/042 | IPC分类号 | G;0;5;B;1;9;/;0;4;2查看分类表>
|
申请人 | 华南理工大学 | 申请人地址 | 广东省广州市天河区五山路381号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华南理工大学 | 当前权利人 | 华南理工大学 |
发明人 | 李向阳;潘亮平;黄恩配 |
代理机构 | 广州市华学知识产权代理有限公司 | 代理人 | 蔡茂略 |
摘要
本发明公开了一种基于I2C的网络化变送器及其通信实现方法,该变送器包括微控制器电路、人机交互模块、变送器电源电路、传感器电源电路、I2C通信电路、模拟输入电路、4~20mA信号输出电路、继电器输出电路、Modbus/RS485通信电路和接线端子排,其中外部模拟传感器和具有I2C接口的智能传感器通过接线端子排与网络化变送器连接,所述传感器电源电路和I2C通信电路根据传感器的不同要求提供对应的电源电压和通信连接。本发明提出一NTSSP协议,NTSSP协议综合应用了变送器广播通信模式、请求‑应答通信模式和发布‑订阅通信模式,提高了通信效率,能方便地自动分配智能传感器的I2C地址,方便使用。本发明具有成本低、即插即用的优点。
1.基于I2C的网络化变送器,其特征在于,包括微控制器电路、人机交互模块、变送器电源电路、传感器电源电路、I2C通信电路、模拟输入电路、4~20mA信号输出电路、继电器输出电路、Modbus/RS485通信电路和接线端子排,其中外部模拟传感器和具有I2C接口的智能传感器通过接线端子排与网络化变送器连接,同时接线端子排还连接24V电源线、继电器输出线、4~20mA信号线和Modbus/RS485通信线;所述传感器电源电路用于在微控制器电路控制下输出每个智能传感器所需要的电压,I2C通信电路通过I2C总线与外部智能传感器连接;
所述具有I2C接口的智能传感器与网络化变送器之间采用NTSSP协议,所述NTSSP协议由
2
物理层、数据链路层和应用层组成,NTSSP的物理层和数据链路层与I C标准一致,NTSSP的数据链路层只采用了Slave Receiver和Master Transmitter两种机制,是I2C数据链路层的子集,在通信过程中需要发送数据时变为Master Transmitter模式,发送完后变为Slave Receiver模式,等待数据接收;NTSSP协议综合应用了变送器广播通信模式、请求‐应答通信模式和发布‐订阅通信模式;所述NTSSP协议中的应用层,其数据包结构如下:地址、功能号、数据长度、变量名、变量数值和校验码,其中功能号用于表示数据包的功能,不同的功能号分别表示申请NTSSP地址、分配NTSSP地址、读请求数据、写请求数据、订阅数据、发布数据。
2.根据权利要求1所述的基于I2C的网络化变送器,其特征在于,所述微控制器电路中的微控制器采用STM32L151R8T6单片机,变送器工作参数保存在单片机内部的EEPROM中,单片机外接Flash存储器。
3.根据权利要求1所述的基于I2C的网络化变送器,其特征在于,所述网络化变送器除了接线端子排外,其他所有电路均密封在防爆金属壳内,防爆金属壳上设置若干个金属孔,变送器内部的连接线通过金属孔连接接线端子排,金属孔被密封胶密封;
所述防爆金属壳的头部采用透明的有机玻璃。
4.根据权利要求1所述的基于I2C的网络化变送器,其特征在于,所述人机交互模块包括手操器红外接口电路和液晶显示模块,手操器红外接口电路和液晶显示模块分别与微控制器电路连接;
所述手操器红外接口电路包括UART和IrDA收发器,用于接收手操器的操作命令和数据输入;
所述液晶显示模块包括带LED背光的点阵黑白液晶屏。
5.根据权利要求4所述的基于I2C的网络化变送器,其特征在于,所述变送器电源电路通过接线端子排与外部的24V电源相连,变送器电源电路包括DC/DC转换器和LDO稳压器,DC/DC转换器用于将24V电源转换为5V,LDO稳压器用于将5V电源转换为3.3V电源,变送器电源电路输出的5V电源用于供液晶显示模块和继电器输出电路工作,3.3V电源用于供变送器其它电路工作。
2
6.根据权利要求1所述的基于IC的网络化变送器,其特征在于,所述传感器电源电路包括DC/DC前向通道电路、模拟反馈电路、电压加法电路和传感器工作电源测量电路,其中DC/DC前向通道电路用于将24V输入电压变为传感器所需的工作电压,模拟反馈电路与电压加法电路串联,模拟反馈电路采集DC/DC前向通道电路的输出信号,电压加法电路一端与微控制器电路相连,用于接收微控制器电路发出的反馈控制信号,另一端与DC/DC前向通道电路相连;传感器工作电源测量电路用于将DC/DC前向通道电路的输出信号发送到微控制器电路。
7.根据权利要求6所述的基于I2C的网络化变送器,其特征在于,所述模拟反馈电路和传感器工作电源测量电路均为电阻分压电路;
所述I2C通信电路包括两个I2C总线上拉电阻。
8.一种基于权利要求1所述的基于I2C的网络化变送器的通信实现方法,其特征在于,包括步骤:
(1)具有I2C接口的智能传感器上电后,根据NTSSP协议,先向变送器发送NTSSP地址请求;所述NTSSP协议由物理层、数据链路层和应用层组成,NTSSP的物理层和数据链路层与
2
IC标准一致,NTSSP的数据链路层只采用了Slave Receiver和Master Transmitter两种机制,是I2C数据链路层的子集,在通信过程中需要发送数据时变为Master Transmitter模式,发送完后变为SlaveReceiver模式,等待数据接收;NTSSP协议综合应用了变送器广播通信模式、请求‐应答通信模式和发布‐订阅通信模式;所述NTSSP协议中的应用层,其数据包结构如下:地址、功能号、数据长度、变量名、变量数值和校验码,其中功能号用于表示数据包的功能,不同的功能号分别表示申请NTSSP地址、分配NTSSP地址、读请求数据、写请求数据、订阅数据、发布数据;
(2)变送器根据智能传感器信息表进行智能传感器ID登记并选择未分配的NTSSP地址,然后通过广播方式向该ID号的智能传感器发送分配的NTSSP地址;
(3)智能传感器通过该NTSSP地址把自己的工作参数、测量参数报告给变送器;
(4)变送器登记好智能传感器的属性参数后,变送器采用订阅模式设定智能传感器的工作参数;
(5)智能传感器根据这些工作参数工作,并采用发布模式主动向变送器报告测量值和报警情况。
9.根据权利要求8所述的通信实现方法,其特征在于,在智能传感器正常工作时,变送器中传感器电源电路中的DC/DC前向通道电路将24V输入电压变为传感器所需的工作电压,模拟反馈电路采集DC/DC前向通道电路的输出信号后输入到电压加法电路中,同时传感器工作电源测量电路也采集DC/DC前向通道电路的输出信号将信号发送到微控制器电路,微控制器电路根据智能传感器工作电压的设定值、当前的测量值求取电压差,将此电压差输入到电压加法电路中,电压加法电路根据此电压差、当前的测量值输出反馈信号到DC/DC前向通道电路。
10.根据权利要求8所述的通信实现方法,其特征在于,所述步骤(5)中,在智能传感器向变送器报告测量值和报警情况时,变送器中I2C接收为地址匹配中断接收,具体如下:
(5-1)当发生中断后,把接收的数据包暂时保存在输入缓冲区中,同时数据个数计数器加1;
(5-2)将数据包中的数据长度的字节与数据个数计数器进行比较,判断数据包是否结束,如果结束则执行步骤(5-3),否则,执行步骤(5-7);
(5-3)计算数据包的校验码;
(5-4)判断校验码是否正确,若正确,则执行步骤(5-5);若不正确,则本次接收无效,执行步骤(5-6);
(5-5)将当前数据包保存到变送器的接收缓冲区中,对数据包进行处理,同时进行数据个数计数器清零,准备下次数据包接收;执行步骤(5-7);
(5-6)数据个数计数器清零;执行步骤(5-7);
(5-7)中断返回。
基于I2C的网络化变送器及其通信实现方法\n技术领域\n[0001] 本发明涉及自动化仪表研究领域,特别涉及一种基于I2C的网络化变送器及其通信实现方法。\n背景技术\n[0002] 变送器是一种基础自动化设备,用于把不同传感器送来的物理量信号变换为标准信号制式的测量信号。目前变送器与传感器之间的信号连接主要为模拟信号,由于不同物理量的变换电路不同,因此变送器一般只能实现对一种物理量实现变送功能,针对不同物理量需要重新设计变送器。此外在更换传感器时,往往需要对变送器进行重新校正,由于该过程在应用现场进行,又需要标准样本(如3.5%的甲烷气体),因此校正非常不方便,校正过程工作量非常大。为了使变送器有通用性,IEEE协会制定了智能传感器接口标准IEEE1451,但是该标准复杂,模块划分不合理,模块之间的接口过于专用,没有考虑到微处理器技术和通信技术的快速发展,近20年来,一直未被工业界所接受。\n[0003] 在实际应用中,新型变送器最好能兼容已有的变送器类型,这样才能减少用户投资,有利于推广。现有变送器输出的标准信号一般为4~20mADC电流信号,为了方便与其它自动化仪表构成自动化网络,一些变送器也提供Modbus/RS485通信接口。\n[0004] 数字化和网络化是自动化仪表的发展方向,数字化和网络化不仅可以提高变送器的测量精度,而且可以提供远程诊断、标定和组态等模拟变送器没有的新功能。此外,为了使变送器能单独使用,需要有报警输出,并能在现场通过手操器进行参数和功能配置。\n发明内容\n[0005] 本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于I2C(Inter-Integrated Circuit)的网络化变送器,该变送器兼容现有变送器的大多数功能,可以连接多个智能传感器,不需要进行现场标定,即插即用,使用和更 换方便。\n[0006] 本发明的另一目的在于提供一种基于上述网络化变送器的通信实现方法,该方法综合应用了变送器广播通信模式、请求-应答通信模式和发布-订阅通信模式,提高了通信效率,能方便地自动分配智能传感器的I2C地址,方便使用。\n[0007] 本发明的目的通过以下的技术方案实现:基于I2C的网络化变送器,包括微控制器电路、人机交互模块、变送器电源电路、传感器电源电路、I2C通信电路、模拟输入电路、4~\n20mA信号输出电路、继电器输出电路、Modbus/RS485通信电路和接线端子排,其中外部模拟\n2\n传感器和具有I C接口的智能传感器通过接线端子排与网络化变送器连接,同时接线端子排还连接24V电源线、继电器输出线、4~20mA信号线和Modbus/RS485通信线;所述传感器电源电路用于在微控制器电路控制下输出每个智能传感器所需要的电压,I2C通信电路通过I2C总线与外部智能传感器连接。\n[0008] 优选的,所述微控制器电路中的微控制器采用STM32L151R8T6单片机,变送器工作参数保存在单片机内部的EEPROM中,单片机外接Flash存储器。Flash存储器低地址的存储空间用于存储16点阵中文字库以用于LCD中文显示,高地址的存储空间用于因Modbus通信故障或者变送器单独使用时存储传感器采集的数据。从而提高数据采集的可靠性。\n[0009] 优选的,所述网络化变送器除了接线端子排外,其他所有电路均密封在防爆金属壳内,防爆金属壳上设置若干个金属孔,变送器内部的连接线通过金属孔连接接线端子排,金属孔被密封胶密封。\n[0010] 优选的,所述人机交互模块包括手操器红外接口电路和液晶显示模块,手操器红外接口电路和液晶显示模块分别与微控制器电路连接。\n[0011] 进一步的,所述防爆金属壳的头部采用透明的有机玻璃。从而可以通过该有机玻璃窗口实现红外手操和LCD显示的人机界面。\n[0012] 优选的,所述手操器红外接口电路包括UART和IrDA收发器,用于接收手操器的操作命令和数据输入。\n[0013] 优选的,所述液晶显示模块包括带LED背光的点阵黑白液晶屏。\n[0014] 优选的,所述变送器电源电路通过接线端子排与外部的24V电源相连,变送器电源电路包括DC/DC转换器和LDO稳压器,DC/DC转换器用于将24V电源转换为5V,LDO稳压器用于将5V电源转换为3.3V电源,变送器电源电路输出的5V电源用于供液晶显示模块和继电器输出电路工作,3.3V电源用于供 变送器其它电路工作。\n[0015] 具体的,所述传感器电源电路包括DC/DC前向通道电路、模拟反馈电路、电压加法电路和传感器工作电源测量电路,其中DC/DC前向通道电路用于将24V输入电压变为传感器所需的工作电压,模拟反馈电路与电压加法电路串联,模拟反馈电路采集DC/DC前向通道电路的输出信号,电压加法电路一端与微控制器电路相连,用于接收微控制器电路发出的反馈控制信号,另一端与DC/DC前向通道电路相连;传感器工作电源测量电路用于将DC/DC前向通道电路的输出信号发送到微控制器电路。用户根据模拟传感器和智能传感器的使用要求,可以通过手操器输入对应的电压值,变送器电源电路、微控制器电路共同作用,可以提供可变输出的电源电压给外部模拟传感器和智能传感器。\n[0016] 更进一步的,所述模拟反馈电路和传感器工作电源测量电路均为电阻分压电路。\n[0017] 具体的,所述I2C通信电路包括两个I2C总线上拉电阻。\n[0018] 一种基于上述网络化变送器的通信实现方法,包括步骤:\n[0019] (1)具有I2C接口的智能传感器上电后,根据NTSSP协议(变送器与智能传感器的通信协议),先向变送器发送NTSSP地址请求;所述NTSSP协议由物理层、数据链路层和应用层组成,NTSSP的物理层和数据链路层与I2C标准一致,所述NTSSP协议中的应用层,其数据包结构如下:地址、功能号、数据长度、变量名、变量数值和校验码,其中功能号用于表示数据包的功能,不同的功能号分别表示申请NTSSP地址、分配NTSSP地址、读请求数据、写请求数据、订阅数据、发布数据;\n[0020] (2)变送器根据智能传感器信息表进行智能传感器ID登记并选择未分配的NTSSP地址(即I2C地址),然后通过广播方式向该ID号的智能传感器发送分配的NTSSP地址;\n[0021] (3)智能传感器通过该NTSSP地址把自己的工作参数、测量参数报告给变送器;\n[0022] (4)变送器登记好智能传感器的属性参数后,变送器采用订阅模式设定智能传感器的工作参数;\n[0023] (5)智能传感器根据这些工作参数工作,并采用发布模式主动向变送器报告测量值和报警情况。\n[0024] 本发明在上述实现方法中提出了基于I2C的网络变送器与智能传感器的协议 (Network Transmitter and Smart Sensor Protocol,简称NTSSP协议),NTSSP协议是在现有I2C总线协议的基础上增加应用层。NTSSP协议综合应用了变送器广播通信模式、请求-应答通信模式和发布-订阅通信模式,从而可以提高通信效率,充分发挥I2C的多主通信能力。\n通过增加该应用层,变送器可以自动获取每个智能传感器信息,从而实现即插即用,使用方便。\n[0025] 优选的,所述步骤(1)中的NTSSP协议中的数据链路层只采用了Slave Receiver和Master Transmitter两种机制,是I2C数据链路层的子集,在通信过程中当需要发送数据时采用Master模式,发送完后采用Slave模式,等待数据接收。\n[0026] 优选的,在智能传感器正常工作时,变送器中传感器电源电路中的DC/DC前向通道电路将24V输入电压变为传感器所需的工作电压,模拟反馈电路采集DC/DC前向通道电路的输出信号后输入到电压加法电路中,同时传感器工作电源测量电路也采集DC/DC前向通道电路的输出信号将信号发送到微控制器电路,微控制器电路根据智能传感器工作电压的设定值、当前的测量值求取电压差,将此电压差输入到电压加法电路中,电压加法电路根据此电压差、当前的测量值输出反馈信号到DC/DC前向通道电路。实现智能传感器的工作电压可以在2.5~5.0V之间变化。\n[0027] 优选的,所述步骤(5)中,在智能传感器向变送器报告测量值和报警情况时,变送器中I2C接收为地址匹配中断接收,具体如下:\n[0028] (5-1)当发生中断后,把接收的数据包暂时保存在输入缓冲区中,同时数据个数计数器加1;\n[0029] (5-2)将数据包中的数据长度的字节与数据个数计数器进行比较,判断数据包是否结束,如果结束则执行步骤(5-3),否则,执行步骤(5-7);\n[0030] (5-3)计算数据包的校验码;\n[0031] (5-4)判断校验码是否正确,若正确,则执行步骤(5-5);若不正确,则本次接收无效,执行步骤(5-6);\n[0032] (5-5)将当前数据包保存到变送器的接收缓冲区中,对数据包进行处理,同时进行数据个数清零,准备下次数据包接收;执行步骤(5-7);\n[0033] (5-6)数据个数计数器清零;执行步骤(5-7);\n[0034] (5-7)中断返回。\n[0035] 本发明与现有技术相比,具有如下优点和有益效果:\n[0036] 1、本发明变送器采用I2C总线代替IEEE1541标准,因此通信不仅标准化, 而且非常容易在普通的微控制器上实现,可以实现多主通信机制,除了可以连接一种模拟传感器外,还可以连接具有I2C接口的多种智能传感器,充分利用通用I2C标准,降低了实现成本。\n[0037] 2、本发明变送器还同时具有4~20mADC模拟标准、Modbus/RS485通信接口和继电器开关输出,因此输出可以兼容现有的变送器。\n[0038] 3、本发明中设置了人机交互模块,因此具有良好的中文LCD人机界面,同时通过红外手操器可以对变送器的工作方式和工作参数进行配置。另外,变送器中的微控制器电路还具有存储模块,因此具有数据保存能力。\n[0039] 4、本发明提出的NTSSP协议是在现有I2C总线协议的基础上增加应用层,由于大多数微处理器集成有I2C接口,即使不含硬件I2C片上外设的单片机,也可以通过集电极开路输出的I/O引脚配合软件来实现,因此该实现方式具有成本低、易于实现的优点。\n[0040] 5、本发明中的NTSSP协议综合应用了变送器广播通信模式、请求-应答通信模式和发布-订阅通信模式,提高了通信效率,能方便地自动分配智能传感器的I2C地址,从而不需要对变送器和智能传感器进行现场标定,传感器即插即用,非常方便。\n附图说明\n[0041] 图1是本发明的工作原理示意图。\n[0042] 图2是本发明中传感器电源电路工作原理示意图。\n[0043] 图3是本发明NTSSP协议的结构。\n[0044] 图4是图3中应用层数据包结构。\n[0045] 图5是本实施例1变送器的工作流程图。\n[0046] 图6是本实施例1中中断程序的流程图。\n具体实施方式\n[0047] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。\n[0048] 实施例1\n[0049] 参见图1,基于I2C的网络化变送器包括STM32L单片机电路、手操器红外接口电路、液晶显示模块、继电器输出电路、4~20mA信号输出电路、模拟输 入电路、变送器电源电路、Modbus/RS485通信电路、传感器电源电路、I2C通信电路、接线端子排。接线端子排右边的模拟传感器和多个智能传感器是根据实际测量变量类型选用的传感器模块,通过端子排连接变送器,其中智能传感器具有I2C接口。此外,变送器的外部线也通过接线端子排连接,外接线包括24V电源线、继电器输出线、4~20mA信号线、Modbus/RS485通信线。本实施例中变送器的硬件结构全部密封在防爆金属壳内,变送器内部的连接线通过金属孔连接接线端子排,金属孔被密封胶密封。防爆金属外壳的头部采用透明的有机玻璃密封,通过该有机玻璃窗口实现红外手操和LCD显示的人机界面。\n[0050] 本实施例中,STM32L单片机电路采用STM32L151R8T6单片机作为核心控制芯片,变送器工作参数保存在单片机内部的4KB EEPROM中,单片机外接512KB的Flash存储器AT25DF041A,其低地址的272KB用于存储16点阵中文字库,用于LCD中文显示,高地址的\n240KB用于因Modbus通信故障或者变送器单独使用时存储传感器采集数据,提高数据采集的可靠性。\n[0051] 手操器红外接口电路和液晶显示模块构成人机交互模块,手操器红外接口电路由单片机片上外设UART和IrDA收发器TFDU4101及其相关电路组成,接收手操器的操作命令和数据输入。液晶显示模块由带LED背光的128×64点阵黑白液晶屏LM6059BCW及其相关电路组成,单片机采用PWM方式调节液晶LED背光的亮度。\n[0052] 变送器电源电路把外接的24V电源通过DC/DC转换器CS51412变为5V电源,再通过LDO稳压器SPX1117变为3.3V电源,5V电源用于LCD背光和继电器输出电路工作,3.3V电源用于系统其它电路工作。\n[0053] 模拟输入电路和4~20mA信号输出电路主要用于兼容现有的模拟变送器。模拟输入电路用于对某种类型的传感器信号(如温度等)进行放大,然后再连接单片机的片上ADC。\n4~20mA信号输出电路把测量变量变为电流信号输出,由单片机片上DAC和XTR111及其外围电路组成。继电器输出电路提供继电器报警输出,由驱动芯片ULN2003和2个继电器ATX209组成。Modbus/RS485通信电路由单片机片上UART和低功耗RS485芯片SP3075E组成,实现变送器的Modbus/RS485通信。\n[0054] 传感器电源电路提供可变输出电源电压供智能传感器工作,工作原理如图2所示,传感器电源电路包括DC/DC前向通道电路、模拟反馈电路、电压加法电路和传感器工作电源测量电路,其中,DC/DC前向通道电路由核心控制芯片 CS51412及其外围电路组成,用于把\n24V输入电压变为传感器所需的工作电压,其输出电压反馈电路在原有模拟反馈电路基础上串联了一电压加法电路,通过单片机的DAC输出电压EsControl来改变原来的反馈电压VFB,从而调节Es。模拟反馈电路和传感器工作电源测量电路都为电阻分压电路,传感器工作电源测量电路的输出EsMeasure接单片机片上ADC,单片机根据传感器工作电压的设定值(有多个传感器时,取最大值)与测量值比较求误差,根据此电压差来控制EsControl的大小,实现Es从2.5~5.0V的变化。\n[0055] NTSSP协议如图3所示,由物理层M301、数据链路层M302和应用层M303组成,NTSSP的物理层和数据链路层与I2C标准一致,成本低,接线少。NTSSP的数据链路层只采用了Slave Receiver和Master Transmitter两种机制,是I2C数据链路层的子集,不同的是在通信过程中需要在两种模式中切换,当需要发送数据时变为Master模式,发送完后变为Slave模式,等待数据接收。为了提高了通信效率,充分发挥I2C的多主通信能力,NTSSP协议综合应用了变送器广播通信模式、请求-应答通信模式和发布-订阅通信模式。NTSSP协议的应用层数据包如图4,由地址、功能号、数据长度、变量名、变量数值和校验码组成,功能号表示数据包的功能,如:功能号0为申请NTSSP地址,功能号1为分配NTSSP地址,功能号2为读请求数据,功能号3为写请求数据,功能号12为订阅数据,功能号13为发布数据。\n[0056] 上述基于I2C的网络化变送器,其实现方法如下:根据NTSSP协议,变送器节点的NTSSP地址(即I2C地址)固定为1,广播地址为0,智能传感器的NTSSP地址是在2~127之间临时分配的,但是每个智能传感器包括具有唯一性的12字节ID号。变送器在其内部EEPROM保存有每个传感器的信息表,并由变送器维护。当智能传感器上电后首先向变送器发送NTSSP地址请求,变送器根据智能传感器信息表进行智能传感器ID登记并选择未分配的NTSSP地址,然后通过广播方式向该ID号的智能传感器发送分配的NTSSP地址,此后该智能传感器通过该地址与变送器进行通信。分配地址后,智能传感器把自己的工作电压、测量物理量类型等参数报告给变送器,变送器登记好传感器的属性参数后,变送器采用订阅模式设定传感器的采样周期、报警值等工作参数,之后传感器根据这些工作参数工作,采用发布模式主动向变送器报告测量值和报警情况。\n[0057] 本实施例变送器在工作时由一个主程序和多个中断程序进行控制,中断程 序主\n2\n要为通信接收中断程序,具有类似的结构,图6给出了IC的接收数据中断程序。在主程序中配置I2C接收为地址匹配中断接收,当发生中断后,进入M411开始I2C中断程序,在M412中,把接收的数据暂时保存在输入缓冲区中,同时数据个数计数器加1。在M413中,将数据包中的数据长度字节(还需要加3,包括功能号和校验码,地址不计入)与数据个数计数器进行比较来判断数据包是否结束,若还没有结束则进入M418进行中断返回,若结束则进入M414计算数据包的校验码。M415判断校验码是否正确,若错误则本次接收无效,进入M417,数据个数计数器清零;若校验码正确,进入M416把数据包保存到主程序的接收缓冲区中,在主程序中进行处理,同时进行数据个数清零,准备下次数据包接收。\n[0058] 主程序除了完成通信发送工作外,还根据人机界面或者Modbus通信的数据完成变送器工作参数配置,根据接收到的传感器数据更新4~20mA输出和继电器报警处理和输出。\n参见图5,包括步骤如下:\n[0059] M400:主程序上电后,进入M401;\n[0060] M401:完成I/O、片上外设、缓冲内存单元(如I2C接收数据个数计数器等)初始化,启动RTC计时,启动UART(红外)、UART(RS485)和I2C通信中断。初始化之后,进入无限循环,顺序完成各个功能模块。\n[0061] M402:完成与手操器的红外通信处理,根据用户要求完成变送器工作参数配置,使得变送器可以不需要进行Modbus/RS485联网也可以单独使用。\n[0062] M403:实现中文人机界面,根据变送器工作状态显示测量数据或者设定工作参数。\n[0063] M404:完成模拟传感器的数据采集,先读片上ADC输出,再根据配置的工作参数转换成测量数据。\n[0064] M405:完成I2C的通信处理,保存智能传感器的测量数据。\n[0065] M406:完成Modbus/RS485的通信处理,发送测量数据,并进行测量数据外部Flash备份,外部Flash的240KB数据存储区由首尾相继的环形数据表组成,实现最新数据的备份,方便手操器读取或者上位机通过Modbus/RS485网络读取历史数据。\n[0066] M407:把测量数据通过片上DAC变为4~20mA模拟输出,同时根据设定的报警参数(包括多传感器的联动)进行报警处理和相应的继电器输出,之后进入下一循环。\n[0067] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
法律信息
- 2017-02-01
- 2014-12-17
实质审查的生效
IPC(主分类): G05B 19/042
专利申请号: 201410318169.1
申请日: 2014.07.03
- 2014-11-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |