具有可配置特性的现场总线通信适配器的制作方法

文档序号:7613969阅读:212来源:国知局
专利名称:具有可配置特性的现场总线通信适配器的制作方法
技术领域
本发明涉及一种具有可配置特性的现场总线设备通信适配器,更确切地说是在(Modbus)协议和(DeviceNet)协议之间进行协议转换的一种通信适配器。
背景技术
随着科学技术的发展,一种(DeviceNet)总线技术被开发出来,在改变一些领域的面貌。
DeviceNet总线技术采用数据总线,由主站只要引出两根或很少的几根线,就可以将各现场设备连接起来,为设备提供配置,监视和诊断等功能。
总线技术的发展给低压电器产品带来极大的冲击,但是由于(DeviceNet)网络数据的多样性和交换的灵活性,(DeviceNet)网络没有完整、集成的协议芯片,DeviceNet接口开发周期比较长,投入也比较大。目前低压配电领域的产品接入DeviceNet网络主要是通过DeviceNet通信适配器,通信适配器为设备接入DeviceNet网络提供快速、模块化的解决方案,设备制造商就不必投入大量的人力、物力研究DeviceNet协议,这部分工作由适配器完成。
对于DeviceNet通信适配器而言,目前,国内外的(DeviceNet)适配器只能将设备的某些固定数据包发给主站,灵活性实用性很差。传统的适配器一般只能连接某种固定的设备,对于同一类设备,由于制造商的不同,其串口侧的通讯规约也不尽相同,而且对于通讯规约相同的设备,每个制造商所提供的参数属性等也是千差万别的,因而只能是一个通信适配器配一种固定的设备,当设备稍有变化或不是同种型号的设备时,只能修改适配器的软件重新烧写芯片了,这对DeviceNet技术的推广而言是一个很大的障碍。
如上海埃通电气股份有限公司张戟公开的题为”基于DeviceNet总线的从设备通信适配器设计”文中提到基于(DeviceNet)总线的泵/阀控制器沂设备通信适配器用于智能泵/阀控制器与(DeviceNet)网络之间的通信设备,用于在智能泵/阀控制器和(DeviceNet)网络主设备之间交换I/O数据和其他设定数据。它是一个独立的从设备通信适配器,包括CPU、双向RAM、控制器收发器、微型开关、电源电路。

发明内容
本发明的目的是提供一种具有可配置特性的现场总线(DeviceNet)通信适配器,将多种现场设备方便、高速、高质量地接入(DeviceNet)网络,组成一个智能监控系统。设备通过适配器接入网络,设备与适配器间需要通过简单的规约进行数据交换,并要采取有效措施保证通信质量。
为达到上述目的,本发明的技术方案是硬件结构包括DeviceNet接口、CAN总线收发器、MCU、光耦隔离电路、RS232接口芯片、串行接口、电源转换及保护电路、EEPROM、拨码开关、DC-DC电源隔离芯片、RS485总线收发器、串口指示灯。
上述电路的数据传输是一个主/从传输结构。为了提高通信速率和通信质量,在主CPU单元内存储了自动波特率检制程序,信号发送流程程序,信号接收流程程序,协议转换匹配流程程序。
上述的程序构成的软件和硬件相结合,便可以解决网络协议转换和匹配问题。
本发明的有益效果采用该通信适配器,带有Modbus接口的任何设备都可以通过本发明涉及的适配器接入(DeviceNet)网络,该通信适配器可以解决网络协议转换和匹配问题。使一种适配器能适应各种设备的特性,使不了解DeviceNet的非专业人员也能轻易构建复杂的现场总线网络,使DeviceNet适配器能成为众多的生产现场使用该产品变为现实。它的接线与控制方式,可以大大节省导线数量,安全可靠,并能有效降低整个系统投资,有明显的经济效益。


图1为本发明的可配置通信适配器的硬件系统结构图;图2(图2A、图2B、图2C)为本发明可配置通信适配器的硬件原理图;图3为本发明的配置信息自动波特率上传下载流程图;图4为本发明的主程序流程图;图5为本发明的配置程序流程图;图6为本发明的运行程序流程图;图7为本发明的在数据表中查找CLASS ID和ATTRIBUTE ID的算法程序流程图;图8为本发明的DeviceNet-Modbus映射关系的查找程序流程图;图9为本发明的串口中断服务程序流程图。
具体实施例方式
以下结合附图和实施例对本发明作进一步说明。
参照图1,这是本发明的可配置通信适配器的硬件系统结构图。
如图所示,硬件结构包括DeviceNet接口、CAN总线收发器、MCU、光耦隔离电路、RS485总线收发器、RS232接口、电源转换及保护电路、EEPROM、拨码开关、DC-DC电源隔离电路、串口指示灯及DeviceNet网络和模块指示灯。
上述的硬件结构,是以原有的通信适配器硬件平台为基础,改动的地方主要有(1)更换了主控制芯片,将原先使用的ATMEL的AT89C51CC01主芯片用富士通的16位单片机MB90F352S代替;(2)简化了电源隔离电路的设计,将原先用分离元件设计的DC-DC电源隔离电路用专用的集成芯片代替;(3)增加了一个串口指示灯,主要用来反映串口侧通讯状态等情况,一般亮绿灯表示通讯正常,亮红灯表示通讯有故障;(4)增加了一片串行EEPROM,由于主芯片内部没有EEPROM,要保存配置信息只有外挂EEPROM,此处选用Atmel的AT93C86A,容量为2048个字节,最大能支持200多条属性,该芯片为SPI接口,主控制器采用串口模拟SPI接口与其通讯。
参照图2,这是本发明的可配置通信适配器的硬件原理图。其中图2A为电源转换及保护电路、DeviceNet接口,图2B为MCU、EEPROM、拨码开关、串口指示灯,图2C为开关电源、串行接口、光耦隔离电路、接口芯片、总线收发器。
所述的主MCU单元,选用16位单片机MB90F352S芯片,该主CPU处理速度较快,存储空间大,支持在线编程,有利产品升级,只要重新烧写软件即可。
所述的电源转换及保护电路,将24V的DeviceNet网络电源转换为主芯片正常工作的5V电源,并且防止反向保护电路。
所述的DC-DC电源隔离电路,将原先用分离元件设计的DC-DC电源隔离电路用专用的集成芯片代替。
所述的串口指示灯,主要用来反映串口侧通讯状态情况,一般亮绿灯表示通讯正常,亮红灯表示通讯有故障。
所述的DeviceNet网络和模块指示灯,主要用来指示该适配器的运行状况和在网络中的通讯情况。
所述的串行EEPROM,由于主芯片内部没有EEPROM,要保存配置信息只有外挂EEPROM,此处选用Atmel的AT93C68A,容量为2048个字节,最大能支持200多条属性,该芯片为SPI接口,主控制器采用串口模拟SPI接口与其通讯。
可配置通信适配器(VT2D)是通信适配器(VT1D)的升级产品,在其软件的实现上主要完成DeviceNet侧的仅限组2从站功能、可配置功能、串口侧符合Modbus协议的通讯功能。即1)、DeviceNet侧的仅限组2从站功能,主要实现DeviceNet协议。由于VT2D的软件设计是基于VT1D的,对于DeviceNet协议的实现参见VT1D的软件设计。
2)、可配置功能,主要实现对适配器串口通讯参数、设备特征属性、I/O报文属性和DeviceNet-Modbus映射关系表的配置。该操作没有采用标准的通讯协议而是采用了自己定义的通讯协议,这样做的目的主要是为了防止受外部设备的信息干扰而导致配置信息出错或丢失等。此处自定义的通讯协议基本上是借鉴了Modbus RTU协议,只是在其基础上作了简化,因而可以说是仿Modbus RTU通讯协议。PC机与适配器之间通过该通讯协议进行配置信息的上传和下载。另外,根据对EEPROM进行的空间规划,把配置的参数信息存放到其对应的空间。
3)、串口侧符合Modbus协议的通讯功能,主要实现Modbus通讯协议的三种最常用的功能码03、06和16,他们所代表的含义分别为读寄存器值、写单个寄存器值、写多个寄存器值,具体的帧格式请参考Modbus协议规范。在适配器开始运行时,读取EEPROM中的配置信息完成初始化。当主站发来的请求,适配器根据请求的类属性值、实例属性值来查找DeviceNet-Modbus映射关系表中的信息,然后向设备发送符合Modbus协议的相应命令,从而实现串口侧的通讯功能。
为了实现以上功能,软件大体上可以分为配置程序和运行程序。主程序采用查询事件标志,根据事件标志进入相应的处理程序。在该软件中,用到了3种中断处理服务1)、CAN口的接收中断。主要完成CAN报文的接收。
2)、串口的接收中断。主要完成串口信息的接收和处理。
3)、定时中断。主要是实现DeviceNet协议需要的定时和串口响应信息超时的判断。
如图3~图9所示,这是几种软件的流程程序。
参照图3,这是本发明的配置信息自动波特率上传下载流程图。
该程序涉及本软件的通讯功能中集成了波特率自适应功能,它能自动对设备的波特率、数据位、停止位、奇偶校验位进行判断,选择合适的串口通讯参数。进行自适应时软件将优先匹配常用的串口通讯参数。
在波特率自适应时CPU需要进行大量运算,本软件在设计时为其开辟了独立的线程,以保证软件不出现假死机情况。
如图3所示,该流程包括下列步骤301[SendThead线程]开始,到302[是否收到数据]进行判断,如果是,到303[调用MerData解析数据];如果否,返回301[SendThead线程];到303[调用MerData解析数据]进入307[主程序堆栈];304[调用Sendp向设备传送数据]到305[设备]到306[中断调用Sendp处理接收数据]到307[主程序堆栈]再到302[是否收到数据]。
参照图4,这是本发明的可配置通信适配器的主流程图。
如图所示,主程序包括下列步骤401[程序开始]到402[初始化端口、变量、中断]再到403[配置状态标志是否置位]进行判断,如果是,到404[进入配置程序];如果否,到405[进入运行程序]。
参照图5,这是本发明的可配置通信适配器的配置程序流程图。
如图所示,其步骤是步骤501[进入配置程序]到502[是否收到上位机的请求]进行判断,如果是,便进入503[读/写EEPROM],到502[是否收到上位机的请求];如果否,到502[是否收到上位机的请求]进行判断。
参照图6,这是本发明的可配置通信适配器的运行程序流程图。
如图所示,其步骤是步骤601[进入运行程序]到602[读EEPROM,初始化对象]再到603[置位正确接收设备的响应事件标志]进行判断,如果是,到604[清标志,处理响应]再进入605[主站的请求命令标志置位]的判断;如果否,直接到605[主站的请求命令标志置位]的判断,如果是,就到606[清标志,处理主站的请求,向设备发送请求置位]再到607[向设备发送请求标志是否置位]进行判断,如果是,到608[清标志位,向设备发送请求]再到609[设备响应定时超时标志置位];605[主站的请求命令标志置位],如果否,便直接进入609[设备响应定时超时标志置位];607[向设备发送请求标志是否置位]如果否,便直接进入609[设备响应定时超时标志置位];如果是,到610[清超时标志,是否向设备发送了3次],如果是,便返回603[置位正确接收设备的响应事件标志];如果否,到611[向设备发送请求置位],返回607[向设备发送请求标志是否置位]。
参照图7,这是本发明的在数据表中查找类值、属性值算法程序流程图。
如图所示,其流程步骤如下从701[程序开始]到702[最小值LOW为1,最大值high为n,标志flag为0]到703[flag=0并且low<=high]进行判断,如果是,到704[mid=(low+high)/2]到705[Key=*(tbl+mid)]进行判断,如果是,到706[flag=1]直至707[结束];703[flag=0并且low<=high]如果否,便直接到707[结束];705[Key=*(tbl+mid)],如果否,到708[Key<*(tbl+mid)];如果是,到710[high=mid-1]返回704[mid=(low+high)/2];如果否,便到709[low=mid+1]返回704[mid=(low+high)/2]。
参照图8,这是本发明的DeviceNet-Modbus映射关系的查找程序流程图。
如图所示,所述的DeviceNet-Modbus映射关系的查找程序流程,其步骤如下从801[接收到一条DeviceNet请求]到802[根据CLASS_ID的查找算法,查找请求CLASS_ID]再到803[是否存在请求中的CLASS_ID]进行判断,如果是,到804[根据ATTRIBUTE_ID的查找算法,查找请求中的ATTRIBUTE_ID]进入805[是否存在请求中的ATTRIBUTE_ID]进行判断,如果是,到806[获得对应的Modbus参数值]直至807[结束];803[是否存在请求中的CLASS_ID],如果否,便到807[结束];805[是否存在请求中的ATTRIBUTE_ID],如果否,便到807[结束]。
参照图9,这是本发明的串口中断服务程序流程图。
如图所示,所述的串口中断服务程序流程步骤如下从901[串口接收中断服务程序开始]到902[与串口连接请求置位]进行判断,如果是,到903[清标志,上位机与适配器建立连接]再到904[配置请求置位]进行判断,如果是,到905[清标志,配置信息的上载或下载处理]再到906[是否是设备的响应信息],如果是,到907[Modbus协议的处理,置位正确接收设备响应事件标志]直至908[结束];902[与串口连接请求置位],如果否,便到904[配置请求置位],如果否,便到,906[是否是设备的响应信息],如果否,便到908[结束]。
以上所述内容仅为本发明构思下的基本说明,而依据本发明的技术方案所作的任何等效变换,均应属于本发明的保护范围。
权利要求
1.具有可配置特性的现场总线通信适配器,包括MCU、光耦隔离电路、电源转换及保护电路、EEPROM;其特征在于其还增设了DeviceNet接口、CAN总线收发器、RS232接口芯片、串行接口、RS485总线收发器、串口指示灯;上述电路信息传输是一个主/从传输结构;为适应多种设备的控制,在MCU中固化了本发明的多种软件包括自动波特率上传下载流程、主程序流程、配置程序流程、串口中断服务程序、流程数据表中查找弥算法程序流程图、DeviceNet-Modbus映射关系的查找程序流程。
2.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的电源转换及保护电路,DC-DC电源隔离电路选用专用的集成芯片,24V转5V。
3.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的串行EEPROM,由于主芯片内部没有EEPROM,要保存配置信息只有外挂EEPROM,此处选用Atmel的93C66A,容量为512个字节,最大能支持80条属性,该芯片为SPI接口,主控制器采用串口模拟SPI接口与其通讯。
4.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的主程序流程,是一种能够检测到正确位速率的自动波特率检测程序,能使适配器转向正常工作模式。
5.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的主程序是一种涉及设备端数据交换的程序,包括下列步骤401[程序开始]到402[初始化端口、变量、中断]再到403[配置状态标志是否置位]进行判断,如果是,到404[进入配置程序];如果否,到405[进入运行程序]。
6.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的配置程序流程,包括下列步骤步骤501[进入配置程序]到502[是否收到上位机的请求]进行判断,如果是,便进入503[读写EEPROM],如果否,到502[是否收到上位机的请求]进行判断。
7.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于步骤601[进入运行程序]到602[读EEPROM,初始化对象]再到603[置位正确接收设备的响应事件标志]进行判断,如果是,到604[清标志,处理响应]再进入605[主站的请求命令标志置位];如果否,直接到605[主站的请求命令标志置位],到606[清标志,处理主站的请求,向设备发送请求置位]再到607[向设备发送请求标志是否置位]进行判断,如果是,到608[清标志位,向设备发送请求]再到609[设备响应定时超时标志置位];605[主站的请求命令标志置位],如果否,便直接进入609[设备响应定时超时标志置位];607[向设备发送请求标志是否置位]如果否,便直接进入609[设备响应定时超时标志置位];如果是,到610[清超时标志,是否向设备发送了3次],如果是,便返回603[置位正确接收设备的响应事件标志];如果否,返回607[向设备发送请求标志是否置位]。
8.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的在数据表中查找弥算法程序流程,包括下列步骤从701[程序开始]到702[最小值LOW为1,最大值high为n,标怠flag为0]到703[flag=0并且low<=high]进行判断,如果是,到704[mid=(low+high)/2]到705[Key=*(tbl+mid)]进行判断,如果是,到706[flag=1]直至707[结束];703[flag=0并且low<=high]如果否,便直接到707[结束];705[Key=*(tbl+mid)],如果否,到708[Key=*(tbl+mid)];如果是,到710[figh=mid-1]返回704[mid=(low+high)/2];如果否,便到709[low=mid+1]返回704[mid=(low+high)/2]。
9.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的DeviceNet-Modbus映射关系的查找程序流程,包括下列步骤从801[接收到一条DeviceNet请求]到802[根据CLASS_ID的查找算法,查找请求CLASS_ID]再到803[是否存在请求中的CLASS_ID]进行判断,如果是,到804[根据ATTRIBUTE_ID的查找算法,查找请求中的ATTRIBUTE_ID]进入805[是否存在请求中的ATTRIBUTE_ID]进行判断,如果是,到806[获得对应的Modbus参数值]直至807[结束];803[是否存在请求中的CLASS_ID],如果否,便到807[结束];805[是否存在请求中的ATTRIBUTE_ID],如果否,便到807[结束]。
10.如权利要求1所述的可配置的现场总线设备通信适配器,其特征在于所述的口中断串服务程序流程,包括下列步骤从901[串口接收中断服务程序开始]到902[与串口连接请求置位]进行判断,如果是,到903[清标志,上位机与适配器建立连接]再到904[配置请求置位]进行判断,如果是,到905[清标志,配置信息的上载或下载处理]再到906[是否是设备的响应信息],如果是,到907[Modbus协议的处理,置位正确接收设备响应事件标志]直至908[结束];902[与串口连接请求置位],如果否,便到904[配置请求置位],如果否,便到,906[是否是设备的响应信息],如果否,便到908[结束]。
全文摘要
本发明涉及一种具有可配置特性的现场总线通信适配器,属于现场总线技术领域。其硬件包括DeviceNet接口、CAN总线收发器、MCU、光耦隔离电路、RS48总线收发器、RS232接口芯片、电源转换及保护电路、EEPROM、拨码开关、DC-DC电源隔离电路、串口指示灯、适配器模块指示灯和网络指示灯。上述电路的数据传输是一个主/从传输结构。为了提高通信速率和通信质量及适应控制多种设备,在主CPU单元内存储了自动波特率上传下载流程、主程序流程、配置程序流程、运行程序流程、在数据表中查找CLASS ID和ATTRIBUTE ID算法程序流程、DeviceNet-Modbus映射关系的查找程序流程、串口中断服务程序流程,上述的程序构成的软件和硬件相结合,便可以解决网络协议转换和匹配问题。是一种优良的现场通信适配器。
文档编号H04L12/40GK1791103SQ200510030648
公开日2006年6月21日 申请日期2005年10月20日 优先权日2005年10月20日
发明者刘健, 王伟 申请人:上海电器科学研究所(集团)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1