专利名称:供Modbus设备网络和Fieldbus设备网络使用的接口模块的制作方法
技术领域:
本发明通常涉及过程控制系统,尤其涉及用于在Fieldbus设备网络和Modbus设备网络之间交换数据的接口模块。
背景技术:
如同在化学、石油或其它过程中所用到的过程控制系统,过程控制系统通常包括至少一个集中化过程控制器,其经由模拟和/或数字总线或其它通信线路或信道而被通信耦合到至少一个主机或操作员工作站以及耦合到一或多个现场设备(field device)。例如,现场设备可能是阀门、阀门定位器、交换机、发射机(例如温度、压力和流速传感器等)等,在过程之中执行诸如打开或关闭阀门和测量过程参数之类的功能。过程控制器经由输入/输出(I/O)设备来接收指示由现场设备做出的过程测量和/或其它与现场设备有关的信息的信号,用这些信息执行控制例行程序(control routine),并且然后产生经由输入/输出设备通过总线或其它通信信道而被发送到现场设备来控制过程操作的控制信号。来自现场设备和控制器的信息一般来说适于一或多个由操作员工作站执行的应用程序,以使运营商能够执行任何所期望的关于过程的功能,比如查看过程的当前状态、变更过程操作、配置过程、文档记录过程等等。
过去,已经开发了标准通信协议,以使来自不同厂商的控制器和现场设备能够用标准格式来交换数据。作为这类标准的通信协议中的一种,Modbus协议已经在过程控制系统中使用了二十年以上。Modbus协议定义了一种消息结构,控制器将不考虑其赖以通信的网络类型而识别并使用该消息结构。它建立了用于消息字段(message field)的布局和内容的普通格式。Modbus定义了一个过程,该过程用于控制器请求访问其它设备、用于控制器和设备响应请求,以及用于错误检测和报告。在Modbus网络上的通信过程中,该协议确定每个控制器或设备怎样获知其设备地址、识别发给它的消息,确定将采取的行动类型,并提取任意包含在该消息内的数据或其它信息。如果需要答复,则控制器或设备将创建答复消息并用Modbus协议来将其发送。Modbus协议在本领域中是已知的,并在大量的文章、手册和公布分发的说明书中被详细描述,而且从使用Modbus协议的设备制造商中也可以获知。从而,将不会详细描述涉及本发明范围之外的Modbus通信协议的细节。
Modbus采用主-从(master-slave)查询-回应(query-response)周期在控制器和现场设备之间交换信息。每个设备都被分配了一个范围介于1和255之间的地址。一个设备,即主设备,通过向其它设备(从设备)发送定址到其的消息来开始事务处理,比如查询、设定点改变、诊断等。在Modbus协议下,主设备所发射的消息被格式化,以包括从设备的设备地址、定义被请求行动的功能码、将被发送到从设备的任意数据以及错误检测信息。从设备基于消息中的地址从主设备检测和接收消息,并处理消息中的功能码所指示的事务或功能。在处理事务或执行所请求的功能之后,从设备发射用Modbus协议创建的响应消息,该消息包含确认所采取行动的信息、将被发回主设备的任意数据以及错误检测信息。Modbus协议支持消息作为ASCII字符被发射的ASCII模式和消息作为十六进制字符被发射的RTU模式。
在Modbus网络中的设备之间利用注册号码(register number)来交换数据。Modbus网络中使用的每个过程控制参数都被分配数字的注册号码,这些号码在可用注册号码的设置范围内。Modbus网络中的设备被配置为根据它们被分配的注册号码来存储和交换过程控制参数。为了获得来自从设备的过程控制参数值,主设备格式化并发射请求消息,该请求消息包括从设备的地址和用于过程控制参数的注册号码。当接收到该请求消息时,从设备读取注册号码的当前值,并格式化和传递具有注册号码和被存储值的响应消息。
大约在过去的十年中,包括微处理器和存储器的智能现场设备在过程控制产业中流行开来。智能现场设备除了执行过程内的基本功能之外,它还可以储存与设备有关的数据,用数字或数字模拟相结合的格式与控制器和/或其它设备通信,以及执行诸如自校准、识别、诊断之类的辅助任务。诸如HART、PROFIBUS、Actuator Sensor Interface(下文中的“AS-Interface”或“ASI”)、WORLDFIP、Device-Net、CAN和FOUNDATIONTMFieldbus(下文中的“Fieldbus”)协议之类的大量标准和开放的智能设备通信协议已经被开发,以使不同制造商生产的智能现场设备能够在同一个过程控制网络内被一起使用。
一般而言,Fieldbus协议是一个全数字的、串行的双向通信协议,其向互连现场设备的双线回路或总线提供了标准化的物理接口。Fieldbus协议有效地在过程内为现场设备提供局域网,使这些现场设备能够在处理设备被分配的位置(使用功能块)处执行过程控制功能,并能够在实现这些过程控制功能的前后彼此通信以执行全面控制策略。Fieldbus协议在本技术领域中是已知的,并在大量的文章、手册和公布分发的说明书中被详细描述,尤其从在得克萨斯,奥斯汀设立的一个非营利组织、即Fieldbus基金会可用。因此,Fieldbus通信协议的细节在本发明的相关范围之外将不会被详细描述。
Fieldbus过程控制网络可以包括一或多个经由总线互连的Fieldbus段(segment),每段都具有一或多个现场设备。对于发生的通信而言,总线每段上的设备中的一个充当链路活动调度器(LAS),其活动地调度并控制总线相关段上的通信。用于总线每段的LAS存储并更新通信调度表(链路活动调度表),该表包含每个设备的每个功能块预定在总线上开始周期通信活动的次数以及该通信活动将要存在的持续时间。当在总线段上没有发生同步通信时,LAS还控制可能存在的异步通信活动。在不存在同步通信的时间段中,一旦从LAS接收到传递令牌消息,每个现场设备被允许依次用异步方式来发射警报数据、查看数据等。
在Fieldbus协议下,现场设备能够用被分配给每个现场设备的唯一地址在总线上相互通信。现场设备被连接到总线的节点,每个节点都具有识别该处所连接的现场设备的指定物理地址,以用于在过程控制网络中与其它现场设备通信。现场设备的唯一地址被包括在由总线上的设备发布的消息之内。现场设备或被发布该消息的设备被配置从它连接的总线段收听包含发布现场设备的地址在内的消息。当接收现场设备检测到具有发布现场设备地址的消息时,它们根据需要来解码和处理该消息,以用于过程控制。
通过使用每个现场设备中定义的三种虚拟通信关系(VCR)中的一个,现场设备能够在总线上发布或发射数据和消息。客户机/服务器VCR用于总线上设备之间的队列的、不定期的、用户发起的、一对一的通信。在现场设备从LAS接收到传递令牌消息时,它可以使用客户机/服务器VCR向总线上的另一个设备发送请求消息。请求方被称为“客户机”,而接收该请求的设备被称为“服务器”。当服务器从LAS接收到传递令牌消息时,它发送响应并处理客户机的请求。例如,客户机/服务器VCR被用于运营商发起的请求,比如设定点改变、调节参数访问和改变、警报应答、以及设备上载和下载。
报告分发VCR用于队列的、不定期的、用户发起的一对多通信。例如,当具有事件或动向报告的现场设备从LAS接收到传递令牌时,该现场设备将它的消息发送到在设备中定义的“群地址”。被配置来在VCR上收听的设备将接收该报告。一般来说,报告分发VCR类型被Fieldbus设备用来向操作控制台发送警报通知。
最后,发布方/接收方VCR类型用于被缓冲的一对多通信。缓冲通信是只存储和发送数据最新版本的通信,因此新数据完全地覆盖了早先的数据。功能块输出比如包括缓冲数据。当发布方设备从LAS或接收方设备接收到强制数据消息时,“发布方”现场设备用发布方/接收方VCR类型向总线上所有的“接收方”现场设备发布或广播消息。发布方/接收方的关系被预先确定并被定义和存储在每个现场设备内。
正如先前指出,Modbus协议已经在过程控制系统中使用了二十年以上,而Fieldbus协议在过程控制系统中被开发和实行的时间则要近一些。从而,在同一个工厂或设备中可能出现使用Modbus协议的过程控制网络与使用Fieldbus协议的过程控制网络共存的情况。例如,具有在Modbus协议下操作的过程控制网络的安装可能转换一部分过程控制网络,以在Fieldbus协议下操作,以便于执行被Fieldbus协议支持的特殊控制策略。尽管做出了部分转换,然而过程控制网络的Modbus部分仍然需要来自于过程控制网络的Fieldbus部分的信息和数据。又例如,具有在Modbus协议下操作的现有过程控制网络的工厂或设备可以被扩展,以包括具有在Fieldbus协议下操作的过程控制网络的附加过程。如同先前的例子一样,向Modbus网络传递来自于Fieldbus网络的数据和信息可能是必需的。在当前的执行过程中,数据不能直接从Fieldbus设备传递到Modbus设备。因此需要接口模块,它可以被连接在Modbus过程控制网络和Fieldbus过程控制网络之间,以便允许来自于Fieldbus网络的信息和数据被传递到Modbus过程控制网络中的设备。
发明内容
一个接口模块被可操作地耦合到Fieldbus过程控制网络和Modbus过程控制网络,以便于在网络之间交换过程控制信息。这个接口模块存储了一个注册映射数据库(register map database),其中,Fieldbus过程控制网络的现场设备中功能块的过程控制参数被映射成Modbus过程控制网络的注册号码。一旦Fieldbus过程控制参数被映射到Modbus寄存器,接口模块就适合于在Fieldbus过程控制网络上把对当前的过程控制参数值的请求消息发射到Fieldbus现场设备,从Fieldbus现场设备接收响应消息,以及将当前的过程控制参数值存储在注册映射数据库中。
通过向接口模块发射对Modbus寄存器的当前值的请求消息(过程控制参数已经被映射到Modbus寄存器),Modbus过程控制网络中的主设备可以获得Fieldbus过程控制参数值。一旦接收到该请求,接口模块就读取对应于Modbus寄存器的注册映射数据库项以获得过程控制参数值。接口模块的格式化和发射是对请求Modbus主设备的响应,其包含来自于寄存器映射表的注册号码和过程控制参数值。为了配置注册映射数据库以关联过程控制参数与Modbus寄存器,接口模块可以包括一个以太网连接来连接诸如个人电脑之类的用户接口。接口模块中的网络服务器软件和用户接口处的网络浏览器软件可用来提供一个图形接口以用于注册映射数据库配置过程。
在本发明的一个方面中,接口模块被提供用于一个网络过程控制系统,该系统包括具有多个Fieldbus现场设备的Fieldbus过程控制网络和具有多个Modbus现场设备的Modbus过程控制网络。接口模块可以可操作地把Fieldbus过程控制网络连接到Modbus过程控制网络,并可以适于促进Fieldbus过程控制网络和Modbus过程控制网络之间的过程控制信息的交换。接口模块可以包括一个Fieldbus输入/输出模块,其可操作地被耦合到Fieldbus过程控制网络并适于在Fieldbus过程控制网络上发射和接收Fieldbus协议消息;一个Modbus输入/输出模块,其可操作地被耦合到Modbus过程控制网络并适于在Modbus过程控制网络上发射和接收Modbus协议消息;和一个控制器,其可操作地被耦合到Fieldbus输入/输出模块和Modbus输入/输出模块,控制器包括处理器和一个可操作地被耦合到该处理器的存储器。
接口模块的控制器可被编程来在存储器中存储一个注册映射数据库,其中,Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与Modbus过程控制网络的Modbus注册号码有关,接口模块的控制器还被编程来使Fieldbus输入/输出模块从一个对应的Fieldbus现场设备请求至少一个当前的Fieldbus过程控制参数值。控制器还可以被编程来把至少一个当前的Fieldbus过程控制参数值用相关的Modbus注册号码存储在注册映射数据库中;并且响应于在Modbus输入/输出模块从其中一个Modbus现场设备接收到对相关的Modbus注册号码当前值的请求消息,它还可以被编程来使Modbus输入/输出模块向其中一个Modbus现场设备发射一个具有至少一个当前的Fieldbus过程控制参数值和相关的Modbus注册号码的响应消息。
根据本发明的另一个方面,过程控制系统包括具有多个Fieldbus现场设备的Fieldbus过程控制网络,具有多个Modbus现场设备的Modbus过程控制网络,和可操作地连接Fieldbus过程控制网络与Modbus过程控制网络的接口模块,该接口模块适于促进Fieldbus过程控制网络和Modbus过程控制网络之间的过程控制信息的交换。接口模块可以包括一个Fieldbus输入/输出模块,其可操作地被耦合到Fieldbus过程控制网络并适于在Fieldbus过程控制网络上发射和接收Fieldbus协议消息;一个Modbus输入/输出模块,其可操作地被耦合到Modbus过程控制网络并适于在Modbus过程控制网络上发射和接收Modbus协议消息;和一个控制器,其可操作地被耦合到Fieldbus输入/输出模块和Modbus输入/输出模块,控制器包括一个处理器和一个可操作地被耦合到该处理器的存储器。
控制器可被编程来在存储器存储一个注册映射数据库,其中,Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与Modbus过程控制网络的Modbus注册号码有关,控制器还被编程来使Fieldbus输入/输出模块从一个对应的Fieldbus现场设备请求至少一个当前的Fieldbus过程控制参数值。控制器还可以被编程来把至少一个当前的Fieldbus过程控制参数值用相关的Modbus注册号码存储在注册映射数据库中;并且响应于在Modbus输入/输出模块从其中一个Modbus现场设备接收到一个对相关Modbus注册号码当前值的请求消息,它可以被编程来使Modbus输入/输出模块向其中一个Modbus现场设备发射一个具有至少一个当前的Fieldbus过程控制参数值和相关Modbus注册号码的响应消息。
根据本发明的又一个方面,在具有多个Fieldbus现场设备的Fieldbus过程控制网络和具有多个Modbus现场设备的Modbus过程控制网络之间交换过程控制信息的方法可以包括下列步骤可操作地把接口模块耦合到Fieldbus过程控制网络和Modbus过程控制网络,接口模块适于在Fieldbus过程控制网络上发射和接收Fieldbus协议消息以及在Modbus过程控制网络上发射和接收Modbus协议消息;和在接口模块中存储一个注册映射数据库,其中,Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与Modbus过程控制网络的Modbus注册号码有关。该方法还可以包括使接口模块从对应的其中一个Fieldbus现场设备请求至少一个当前的Fieldbus过程控制参数值;和把至少一个当前的Fieldbus过程控制参数值用相关的Modbus注册号码存储在注册映射数据库中。更进一步,该方法可以包括以下步骤响应于在接口模块从其中一个Modbus现场设备接收一个对相关Modbus注册号码的当前值的请求消息;使接口模块向其中一个Modbus现场设备发射一个具有至少一个当前的Fieldbus过程控制参数值和相关的Modbus注册号码的响应消息。
通过参考在下面被简要说明的附图来描述实施例,本发明的特征和优点对本领域普通技术人员来说变得显而易见。
图1是具有通过接口模块连接到Fieldbus过程控制网络的Modbus过程控制网络的过程控制系统的框图;图2是图1的接口模块的功能框图;和图3是将Fieldbus过程控制参数映射到Modbus寄存器的注册映射数据库的一部分。
具体实施例方式
尽管下文阐述了本发明大量不同的实施例的详细说明,然而应当理解的是,本发明的法律范围由在专利结尾处阐明的权利要求来定义。详细说明应当被看作仅为示范性的,而并不用于说明本发明每个可能的实施例。因为说明每个可能的实施例是不切实际的。大量的替换实施例可以用当前技术或在此临时专利申请存档日期之后开发的技术来执行,其仍然属于本发明权利要求所定义的范围。
还应当理解的是,除非在这个临时的专利申请中用“此处使用的术语‘__’被定义来意指”或类似句子来明确地定义术语,否则就不存在明确或含蓄地将该术语的含义限制在普通的含义之外的意图,并且这类术语不应当被解释成用于限制在基于本专利申请的任何部分中做出的任何声明的范围。
现在参见图1,过程控制系统10包括被接口模块16连接到Fieldbus过程控制网络14的Modbus过程控制网络12。Modbus过程控制网络12可以包括被连接到多个Modbus现场设备20-24的主机设备或控制器18,以及可以对Modbus过程控制网络12和/或过程控制系统10起工厂历史数据库作用的用户接口26。在这个系统中,主机18可用来在Modbus过程控制网络12中实行过程控制、并充当发起被设备20-24和用户接口26所接收事务的Modbus主设备。设备20-24和用户接口26通过向主机18提供请求数据或通过采取由查询所请求的行动来进行响应。
Fieldbus过程控制网络14可以包括经由双线Fieldbus回路或总线68被连接到大量其它设备的主机或控制器28,大量其它设备比如为可编程逻辑控制器(PLC)30、多个控制器32、另一个主机设备34和一组现场设备36-66。Fieldbus过程控制网络14可以包括不同的部分或段68a、68b、68c和68d。例如,68b段的一些段可以被直接连接到总线68,而比如68a和68c段的其它段可以通过桥接设备70、74被连接到总线68。更进一步,Fieldbus过程控制网络14可以包括诸如68d段之类的段,它们通过接口模块16被连接到Fieldbus过程控制网络14。68a、68b、68c和68d中的每一段都与设备子集互连,以能够在设备之间用上述方法通信。对于将要发生的通信,总线68每一段上的设备中的一个都充当链路活动调度器(例如控制器28和设备36、48、56和64),其活动地调度和控制总线68的相关段上的通信。
Modbus网络12被接口模块16连接到Fieldbus网络14。接口模块16经由Modbus兼容的输入/输出(输入/输出)端口被连接到Modbus网络12,并且经由Fieldbus兼容的输入/输出端口被连接到Fieldbus网络14的68a、68b、68c和68d段的一段或多段上的节点。为了在Modbus网络12中促进往返于接口模块16的通信,接口模块16被分配了Modbus设备地址,并且主机18和其它的Modbus主设备以及接口模块16被如此配置,以使得主设备可以格式化和发射用于接口模块16的消息,而且接口模块16能够接收、识别和处理这些消息,执行被请求的行动,和经由Modbus输入/输出端口用与其它Modbus设备相同的方法向主设备发射响应消息。
接口模块16还被配置成链路主设备,因此接口模块16可以充当链路活动调度器以作用于连接到该处的Fieldbus过程控制网络14的一段或多段。此外如上所述,接口模块16还起桥接设备的作用,以促进诸如可能没有直接连接到总线68的68d段之类的段和/或Fieldbus过程控制网络14的其它段68a、68b和68c之间的通信。
通过Modbus网络12,接口模块16能够在其经由Fieldbus输入/输出端口所连接的总线68的68a、68b、68c和68d段上通信。接口模块16被分配Fieldbus设备地址,以使得接口模块16可以被其所连接的68a、68b、68c和68d段上的设备36-66识别。LAS设备36、48、56和64中的链路主调度表被如此配置,以使得传递令牌消息将在链路主调度表的异步周期中被发射到接口模块16。在设备36-66中和接口模块16处的VCRs被如此配置,以使得接口模块16可以向现场设备36-66发射消息以请求接口模块16被配置来存储的过程控制参数值,并且现场设备36-66可以向接口模块16发射包含被请求的当前的Fieldbus过程控制参数值在内的响应消息。
为了配置接口模块16并在其中显示被编译的数据,接口模块16可以用网络服务器软件来编程。接口模块16的结构可以在以太网输入/输出端口上用任何诸如用户接口78之类的个人电脑中可用的网络浏览器软件来完成。接口模块16的网络服务器软件向用户接口78的网络浏览器软件提供的网页允许过程监视器或运营商把Fieldbus网络14的设备36-66的过程控制参数映射到Modbus网络的寄存器。网页还可以允许监视器或运营商查看被映射到Modbus寄存器并存储在接口模块16中的当前的Fieldbus过程控制参数值。
现在参见图2,接口模块16可以包括被连接到存储器82的控制器80、Modbus输入/输出模块84、Fieldbus输入/输出模块86-92以及以太网输入/输出模块94。控制器80可以被配备在市场上买得到的硬件中,比如由美国英特尔(Intel)公司投入市场的16位或32位的16兆赫(MHZ)80C960SA微型控制器,或可以被配备在任何其它适当的微型控制器中。控制器80可以包括经由总线100被通信地耦合到存储器98的处理器96。控制器80的存储器98可以是随机存取存储器(RAM)、诸如半导体ROM之类的只读存储器(ROM)或其任何适当的结合。替换或另外地,存储器98可以包括下列内容中的任何一个或其组合电可擦可编程只读存储器(EEPROM)、一次性可编程电可编程序只读存储器(OTPEPROM)、静态随机存取存储器(SRAM)、闪存或可以外部地连接到控制器80的处理器96的任何其它适当的存储元件。此外,存储器(一或多个)可以被配备在其它的计算机可读媒介中,比如CD、可重写CD、DVD之类的光学媒质,或比如软盘、硬盘、压缩盘之类的磁体媒质。
例如,通过使用RS485串行端口,诸如标准的RJ45/10/100bt连接器之类的以太网连接端口,或本领域中已知的与Modbus网络的任何其它适当连接,Modbus输入/输出模块84将控制器80连接到Modbus网络12的主机18。Modbus输入/输出模块84被配置来使用Modbus协议与主机18通信。例如,Modbus输入/输出模块84被配置来接收在Modbus网络12上发射的消息,和检测由主机18或其它主设备发射的、包含被分配给接口模块16的Modbus地址在内的消息。一旦这些消息被检测到,Modbus输入/输出模块84就能够提取,并在必要时重新格式化包含在该消息内的数据,然后把信息传送到控制器80以执行来自于主机18的请求。Modbus输入/输出模块84还被配置来接收响应于来自主机18的请求从控制器80提供的数据,格式化适当的Modbus协议消息,以及在Modbus网络12上发射该消息。
类似地,Fieldbus输入/输出模块86-92使用诸如H1输入/输出卡,将控制器80连接到Fieldbus段68a、68b、68c和68d,并促进控制器80和Fieldbus现场设备36-66之间的通信。一或多个Fieldbus输入/输出模块86-92分别连接到68a、68b、68c和68d段的节点,并且接口模块16被分配Fieldbus地址,以用于与被连接到68a、68b、68c和68d段的现场设备36-66通信。链路活动调度表被如此配置,以便于用于接口模块16的传递令牌消息在调度表的异步通信周期中被LAS现场设备36、48、56和64发射。Fieldbus输入/输出模块86、88、90和92检测用于接口模块16的传递令牌消息,以及在68a、68b、68c和68d段上被发射用于接口模块的任何其它消息,然后将这些消息中的信息发射到控制器80以用于处理。当接口模块16与Fieldbus网络14的现场设备36-66通信时,控制器80使Fieldbus输入/输出模块86、88、90和92格式化Fieldbus协议消息,并在适当的Fieldbus段68a、68b、68c或68d上发射该消息。
如前所述,接口模块16可以用标准的网络服务器软件来编程,因此具有连接了网络浏览器的计算机可用来配置接口模块16,并查看存储在其中的过程控制信息。以太网输入/输出模块94被连接到控制器80,并且包括以太网连接端口,比如标准的RJ45/10/100bT连接器。取决于接口模块16的具体执行过程,以太网连接可用来将接口模块16直接连接到用户接口78或者替换地连接到局域网,其中,具有网络浏览器软件的多个联网设备可以被配备来访问包含在接口模块l6内的信息。
在一个实施例中,接口模块16被配置来获取并存储来自于Fieldbus过程控制网络14的过程控制信息,并且一旦它接收到来自Modbus过程控制网络12的诸如主机18之类的其中一个主设备的请求,就将被存储的Fieldbus过程控制信息提供给Modbus过程控制网络12。为了允许Modbus网络12中的设备请求Fieldbus网络14中使用的过程控制参数值,在Fieldbus网络14中使用的过程控制参数被映射到Modbus寄存器,过程控制参数值在接口模块16在存储器98中被存储在注册映射数据库中。一旦Fieldbus过程控制参数被映射到Modbus寄存器,Modbus主设备就被配置向接口模块16发射消息以请求Fieldbus过程控制参数被映射到那里的Modbus寄存器值。一旦在接口模块16接收到请求消息,控制器80的处理器96就查看存储在存储器98的注册映射数据库中的,并对应于请求消息中的注册号码的值,然后使Modbus输入/输出模块84格式化并发射具有注册号码和对应的Fieldbus过程控制参数值的Modbus响应消息。Modbus主设备用由Modbus从设备发射任何响应消息相同的方法来接收和处理响应消息。
如前所述,Fieldbus过程控制参数被映射到注册映射数据库中的Modbus寄存器,Modbus寄存器被存储在接口模块16的存储器98中。图3描述了一个注册映射数据库100的例子,其可以在接口模块16被创建并被存储在控制器80的存储器98中。对于每个被映射到Modbus注册号码102的Fieldbus过程控制参数来说,注册映射数据库100可以包括段标识符104、装备标识符106、功能块标识符108和参数标识符110以及当前的Fieldbus过程控制参数值112。图3的例子描述了根据本发明的接口模块16的执行过程,其中,Modbus过程控制网络12的主设备可能能够经由接口模块l6获得Fieldbus过程控制网络14的所有功能块的输出值和输出状态。在图3的注册映射数据库100中,注册号码45,001-45,999可以被预备来存储不同的Fieldbus功能块的当前输出状态,而注册号码47,001-47,999可以被预备来存储不同的Fieldbus功能块的输出值。例如在图3的数据库100中,段1上设备848-01的换热器TT-01-1可以被映射成Modbus注册号码45,001,而换热器TT-01-1的输出值可以被映射成Modbus注册号码47,001。类似地,段3上的设备3051-44的压力传感器PP-44-1的输出状态可以被映射成Modbus注册号码45,324,而压力传感器PP-44-1的输出值可以被映射成注册号码47,647。一旦Fieldbus过程控制参数被映射到Modbus寄存器,通过使用在此处被充分说明的方法,Modbus网络12中的主设备就可以用对应的注册号码从接口模块16来请求当前的Fieldbus过程控制参数值。尽管此处说明的注册映射数据库100把功能块的输出值和输出状态映射到Modbus寄存器,然而对于所属领域技术人员显而易见的是,Fieldbus过程控制网络的Fieldbus设备所使用的任何过程控制参数都可以被映射到注册映射数据库中的Modbus寄存器。应当理解,被映射到Modbus寄存器的Fieldbus过程控制参数可以由其中实现了接口模块16的过程控制系统的需求来确定。
为了建立注册映射数据库100,接口模块16必须首先识别存在于Fieldbus网络14的现场设备36-66中的功能块和过程控制参数。如前所述,一旦接口模块16经由Fieldbus输入/输出模块86-92被连接到Fieldbus网络的一段或多段68a、68b、68c和68d,对应的LAS现场设备36、48、56和64的链路活动调度表就被配置在调度表的异步周期中发射用于接口模块16的传递令牌消息。当接口模块16在68a、68b、68c或68d的其中一段上接收到传递令牌消息时,接口模块16在该段上发射消息向对应的现场设备查询与它们的存在有关的信息、其中包含的功能块、以及功能块所使用的过程控制参数。例如,当接口模块16被连接到68a段并且LAS现场设备36将传递令牌消息发射到接口模块16的Fieldbus地址时,Fieldbus输入/输出模块86检测该传递令牌消息并与控制器80通信以告知接口模块16可以在68a段上发射消息。控制器80使Fieldbus输入/输出模块86在68a段上发射消息,以向现场设备36-42查询与功能块有关的信息和其中包含的过程控制参数。现场设备36-42通过将包含请求信息在内的消息发射到接口模块16做出响应。响应消息由将信息中继到控制器80的Fieldbus输入/输出模块86来检测。控制器80的处理器96使来自现场设备36-42的信息被存储在存储器98中,以用于创建注册映射数据库100。接口模块16可能连接的68b、68c和68d段的现场设备44-66的类似查询将由控制器80来执行。
一旦与Fieldbus网络14的过程控制参数有关的信息已经被接口模块163编译,用户接口78的网络浏览器就可以将过程控制参数映射到Modbus寄存器。一旦接收到来自于用户接口78的请求,存储在存储器98中可用的过程控制参数的信息,就可以经由以太网输入/输出模块94从控制器80被发射到用户接口78。一旦这些信息被显示,控制器80的网络服务器软件所提供的网页就允许用户查看可用的过程控制参数,并且将过程控制参数映射成Modbus注册号码以供Modbus网络12使用。随着注册号码被分配给过程控制参数,信息可以从用户接口78被发射到接口模块16,并且在信息在以太网输入/输出模块94被接收之后,控制器80的处理器96可以使注册号码在注册映射数据库100中被存储在相关的过程控制参数的对应项中。
在一个替换实施例中,Fieldbus过程控制参数可以用网络浏览器之外的软件在用户接口78被映射到Modbus寄存器。该映射可以用已投放市场的诸如MicrosoftExcel数据表程序或常规开发的软件应用程序之类的软件应用程序来执行。软件应用程序可以经由用户接口78和接口模块16之间的以太网连接发出信息请求,其请求存储在存储器98中可用的过程控制参数。通过经由以太网连接来检索存储在存储器98中的请求信息,并且使以太网输入/输出模块94检索到用户接口78的信息,控制器80的处理器96可以做出响应。一旦信息被用户接口78接收并被软件应用程序显示,软件应用程序就允许用户查看与可用的过程控制参数有关的信息,并且操作该信息将过程控制参数映射成Modbus注册号码,以供Modbus网络12之用。随着用软件应用程序将注册号码分配给过程控制参数,被更新的信息可以从用户接口78被发射到接口模块16,并且在在以太网输入/输出模块94接收这些信息之后,控制器80的处理器96可以使注册号码在注册映射数据库100中被存储在相关的过程控制参数的对应项中。
除了运营商人工地在用户接口78用网络浏览器将Modbus寄存器映射到Fieldbus过程控制参数之外,接口模块16还可以包括自动映射模式,而接口模块16的控制器80凭借自动映射模式在现场设备36-66自动地将注册号码分配给过程控制变量。自动映射可以不考虑被映射的参数类型而随机或顺序地分配注册号码,或者替换地,寄存器的预定范围可以被指定用于可以在Fieldbus网络14中使用的不同类型的参数。
一旦Fieldbus网络14的过程控制参数被映射到Modbus网络12的寄存器,主机18及其它主设备就被配置向接口模块16发出请求,其请求Fieldbus网络14的过程控制参数已经被映射到那个Modbus寄存器值。Modbus设备的配置可以由运营商在特殊的Modbus主设备处人工地执行。替换地,通过让控制器80的处理器96使Modbus输入/输出模块84向Modbus网络12的主设备发射消息(消息包含已经被映射成Fieldbus过程控制参数的注册号码),配置过程也可以是半自动化的。包含在这些消息内的数据可以被运营商用来配置Modbus主设备向接口模块16发出请求消息,以检索与被映射的注册号码有关的值。
由Modbus主设备发出请求消息包括用于接口模块16的Modbus设备地址,请求接口模块16读取一或多个寄存器值的功能码、和一或多个由接口模块16读取的注册号码。请求消息在Modbus输入/输出模块84被接收,Modbus输入/输出模块84解码该请求消息并将请求传递到控制器80。只要接收到请求,控制器80的处理器96就读取存储在存储器98中的注册映射数据库100以检索对应于Modbus主设备请求的一或多个注册号码的过程控制参数值。一旦这一或多个值已经被检索,处理器96就使Modbus输入/输出模块84格式化并发射一或多个Modbus响应消息来请求一或多个主设备,Modbus响应消息包含了存储在注册映射数据库100中的值。
为了确保注册映射数据库100包括其中存储的当前的Fieldbus过程控制参数值,控制器80的处理器96可以使Fieldbus输入/输出模块86-92向现场设备36-66发射Fieldbus请求消息。一旦在对应段68a、68b、68c和68d上接收到传递令牌消息,Fieldbus输入/输出模块86-92就可以向每个现场设备36-66发射消息,告知至少一个过程控制参数已经被映射到Modbus寄存器(Modbus register)。这些消息可以在每当接收传递令牌消息时被发射,也可以取决于过程控制参数或现场设备的类型,或取决于Fieldbus网络14的消息传输容量限制,而被不那么频繁地被发射。替换地,一旦从Modbus主设备接收到对Modbus寄存器当前值的请求,控制器80就可以被配置来使对应的其中一个Fieldbus输入/输出模块86-92向适当的其中一个现场设备36-66发射对过程控制参数当前值的请求。一旦其中一个现场设备36-66对被请求的过程控制参数值做出响应,处理器96就可以用新的数值来更新注册映射数据库100,并且使Modbus输入/输出模块84把适当的响应消息发射到发出请求的Modbus主设备。
因此,虽然已经参照仅为说明性、并不用于限制本发明的特殊例子描述了本发明,但是本领域技术人员来显然可以意识到,在不脱离本发明的精神和范围的前提下,可以对这些公开实施例进行改变、添加或删除。
权利要求
1.一种在过程控制系统中使用的接口模块,该过程控制系统包括具有多个Fieldbus现场设备的Fieldbus过程控制网络、以及具有多个Modbus现场设备的Modbus过程控制网络,该接口模块可操作地将该Fieldbus过程控制网络连接到该Modbus过程控制网络,并适于促进该Fieldbus过程控制网络和该Modbus过程控制网络之间的过程控制信息的交换,该接口模块包括Fieldbus输入/输出模块,被可操作地耦合到该Fieldbus过程控制网络并适于在该Fieldbus过程控制网络上发射和接收Fieldbus协议消息;Modbus输入/输出模块,被可操作地耦合到该Modbus过程控制网络并适于在该Modbus过程控制网络上发射和接收Modbus协议消息;和控制器,被可操作地耦合到该Fieldbus输入/输出模块和该Modbus输入/输出模块,该控制器包括处理器、以及可操作地耦合到该处理器的存储器,该控制器被编程,以在该存储器中存储注册映射数据库,其中该Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与该Modbus过程控制网络的Modbus注册号码有关,该控制器被编程,以使该Fieldbus输入/输出模块从所述Fieldbus现场设备中的相应一个请求该至少一个Fieldbus过程控制参数的当前值,该控制器被编程,以用该相关的Modbus注册号码将该至少一个Fieldbus过程控制参数的当前值存储在注册映射数据库中,并且该控制器被编程,以响应于在该Modbus输入/输出模块从所述Modbus现场设备中的一个、接收对该相关的Modbus注册号码的当前值的请求消息,使该Modbus输入/输出模块向所述Modbus现场设备中的一个发射带有该至少一个Fieldbus过程控制参数的当前值和该相关Modbus注册号码的响应消息。
2.如权利要求1的接口模块,其中,该控制器被编程,以通过对在该Fieldbus输入/输出模块从该Fieldbus过程控制网络接收传递令牌消息的每个事件都使用队列的、不定期的通信,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求至少一个Fieldbus过程控制的当前参数值。
3.如权利要求1的接口模块,其中,该控制器被编程,以在该Fieldbus输入/输出模块发出对该至少一个Fieldbus过程控制参数的当前值的事先请求之后的预定时间之后,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
4.如权利要求1的接口模块,其中,该控制器被编程,以响应于在该Modbus输入/输出模块从所述一个Modbus现场设备接收到对该相关的Modbus注册号码当前值的请求消息,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
5.如权利要求1的接口模块,其中,该Fieldbus过程控制网络包括多个段,每段都至少具有一个可操作地耦合到该处的Fieldbus现场设备,该接口模块包括多个Fieldbus输入/输出模块,每个都被可操作地耦合到该控制器和该Fieldbus过程控制网络的其中一段,每个Fieldbus输入/输出模块都适于在对应的其中一段上发射和接收Fieldbus协议消息,该控制器被编程,使其中一个Fieldbus输入/输出模块可操作地耦合到其中一段,该对应的其中一个Fieldbus现场设备被可操作地耦合到该段,以请求该至少一个Fieldbus过程控制参数的当前值。
6.如权利要求1的接口模块,包括被可操作地耦合到该控制器和用户接口的以太网输入/输出模块,并且适于发射以太网协议消息到该用户接口和从该用户接口接收以太网协议消息。
7.如权利要求6的接口模块,其中,该用户接口被编程以起网络浏览器的作用,并且该控制器被编程以起网络服务器的作用。
8.如权利要求6的接口模块,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口接收请求消息,使该以太网输入/输出模块向该用户接口发射与该至少一个Fieldbus过程控制参数有关的信息。
9.如权利要求6的接口模块,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口接收注册映射数据库更新消息,更新该存储器中的注册映射数据库,以使该Fieldbus过程控制网络的该至少一个Fieldbus过程控制参数与该Modbus过程控制网络的该Modbus注册号码相关联。
10.如权利要求6的接口模块,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口接收对注册映射数据库的请求消息,使该以太网输入/输出模块向该用户接口发射响应消息,该响应消息具有该至少一个Fieldbus过程控制参数的当前值、与该至少一个Fieldbus过程控制参数有关的信息以及该相关的Modbus注册号码。
11.一种过程控制系统,包括具有多个Fieldbus现场设备的Fieldbus过程控制网络;具有多个Modbus现场设备的Modbus过程控制网络;和接口模块,可操作地将该Fieldbus过程控制网络连接到该Modbus过程控制网络,并适于促进该Fieldbus过程控制网络和该Modbus过程控制网络之间的过程控制信息的交换,该接口模块包括Fieldbus输入/输出模块,可操作地被耦合到该Fieldbus过程控制网络并适于在该Fieldbus过程控制网络上发射和接收Fieldbus协议消息;Modbus输入/输出模块,可操作地被耦合到该Modbus过程控制网络并适于在该Modbus过程控制网络上发射和接收Modbus协议消息,和控制器,可操作地被耦合到该Fieldbus输入/输出模块和该Modbus输入/输出模块,该控制器包括处理器和可操作地耦合到该处理器的存储器,该控制器被编程,以在存储器中储存注册映射数据库,其中,该Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与该Modbus过程控制网络的Modbus注册号码有关,该控制器被编程,以使该Fieldbus输入/输出模块从一个对应的所述Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值,该控制器被编程,以用该相关的Modbus注册号码将该至少一个Fieldbus过程控制参数值的当前值存储在该注册映射数据库中,并且该控制器被编程,以响应于在接口模块从所述Modbus现场设备中的一个接收对该相关的Modbus注册号码当前值的请求消息,使该Modbus输入/输出向所述Modbus现场设备中的一个发射带有该至少一个Fieldbus过程控制参数的当前值和该相关Modbus注册号码的响应消息。
12.如权利要求11的过程控制系统,其中,该接口模块的控制器被编程,以通过对在该Fieldbus输入/输出模块从该Fieldbus过程控制网络接收到传递令牌消息的每个事件都使用队列的、不定期的通信,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
13.如权利要求11的过程控制系统,其中,该接口模块的控制器被编程,以在该Fieldbus输入/输出模块发出对至少一个当前的Fieldbus过程控制参数值的事先请求之后的预定时间之后,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
14.如权利要求11的过程控制系统,其中,该接口模块的控制器被编程,以响应于在该Modbus输入/输出模块从所述Modbus现场设备中的一个接收到对该相关的Modbus注册号码当前值的请求消息,使该Fieldbus输入/输出模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
15.如权利要求11的过程控制系统,其中,该Fieldbus过程控制网络包括多个段,每段都至少具有一个可操作地耦合到该段的Fieldbus现场设备,该接口模块包括多个Fieldbus输入/输出模块,每个都被可操作地耦合到该控制器和该Fieldbus过程控制网络的其中一段,每个Fieldbus输入/输出模块都适于在对应的其中一段上发射和接收Fieldbus协议消息,控制器被编程,使其中一个Fieldbus输入/输出模块可操作地耦合到其中一段,而对应的其中一个Fieldbus现场设备被可操作地耦合到该段,以请求该至少一个Fieldbus过程控制参数的当前值。
16.如权利要求11的过程控制系统,其中,该接口模块包括可操作地耦合到该控制器的以太网输入/输出模块,该过程控制系统包括可操作地耦合到该以太网输入/输出模块的用户接口,该以太网输入/输出模块适于将以太网协议消息发射到该用户接口和从该用户接口接收以太网协议消息。
17.如权利要求16的过程控制系统,其中,该用户接口被编程起网络浏览器的作用,该控制器被编程起网络服务器的作用。
18.如权利要求16的过程控制系统,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口到接收请求消息,使该以太网输入/输出模块向该用户接口发射与该至少一个Fieldbus过程控制参数有关的信息。
19.如权利要求16的过程控制系统,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口接收注册映射数据库更新消息,更新该存储器中的注册映射数据库,以使该Fieldbus过程控制网络的该至少一个Fieldbus过程控制参数与该Modbus过程控制网络的该Modbus注册号码相关联。
20.如权利要求16的过程控制系统,其中,该控制器被编程,以响应于在该以太网输入/输出模块从该用户接口接收对该注册映射数据库的请求消息,使该以太网输入/输出模块向该用户接口发射响应消息,该响应消息具有该至少一个Fieldbus过程控制参数的当前值、与该至少一个Fieldbus过程控制参数有关的信息、和该相关的Modbus注册号码。
21.一种在具有多个Fieldbus现场设备的Fieldbus过程控制网络和具有多个Modbus现场设备的Modbus过程控制网络之间交换过程控制信息的方法,该方法包括下列步骤可操作地将接口模块耦合到该Fieldbus过程控制网络和该Modbus过程控制网络,该接口模块适于在该Fieldbus过程控制网络上发射和接收Fieldbus协议消息,以及在该Modbus过程控制网络上发射和接收Modbus协议消息;在该接口模块中存储注册映射数据库,其中,该Fieldbus过程控制网络的至少一个Fieldbus过程控制参数与该Modbus过程控制网络的Modbus注册号码有关,使接口模块从其中一个对应的Fieldbus现场设备请求至少一个Fieldbus过程控制参数的当前值,将该至少一个Fieldbus过程控制参数的当前值用相关的Modbus注册号码存储在该注册映射数据库中,和响应于在该接口模块从其中一个Modbus现场设备接收对该相关的Modbus注册号码当前值的请求消息,使接口模块向该其中一个Modbus现场设备发射具有至少一个Fieldbus过程控制参数的当前值和相关Modbus注册号码的响应消息。
22.如权利要求21的方法,进一步包括步骤通过对在该接口模块从Fieldbus过程控制网络接收到传递令牌消息的每个事件都使用队列的、不定期的通信,使该接口模块从其中一个对应的Fieldbus现场设备请求至少一个Fieldbus过程控制参数的当前值。
23.如权利要求21的方法,进一步包括步骤,在该Fieldbus输入/输出模块发出对至少一个Fieldbus过程控制参数的当前值的事先请求之后的预定时间之后,使该接口模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
24.如权利要求21的方法,进一步包括步骤,响应于在该接口模块从其中一个Modbus现场设备接收到对相关的Modbus注册号码当前值的请求消息,使该接口模块从所述一个对应的Fieldbus现场设备请求该至少一个Fieldbus过程控制参数的当前值。
25.如权利要求21的方法,其中,该Fieldbus过程控制网络包括多个段,每段都具有至少一个可操作地耦合到该段的Fieldbus现场设备,该方法进一步包括下列步骤可操作地将该接口模块耦合到该Fieldbus过程控制网络段;和在所述一个对应的Fieldbus现场设备被可操作地耦合到的其中一段上,使接口模块发射对该至少一个Fieldbus过程控制参数的当前值的请求。
26.如权利要求21的方法,进一步包括步骤,可操作地将接口模块耦合到用户接口,将接口模块适于将以太网协议消息发射到将用户接口和从将用户接口接收以太网协议消息。
27.如权利要求26的方法,其中,将用户接口被编程起网络浏览器的作用,将接口模块被编程起网络服务器的作用。
28.如权利要求26的方法,进一步包括步骤,响应于在该接口模块从该用户接口接收请求消息,使该接口模块向该用户接口发射与该至少一个Fieldbus过程控制参数有关的信息。
29.如权利要求26的方法,进一步包括步骤,响应于在该接口模块从该用户接口接收注册映射数据库更新消息,更新该存储器中的注册映射数据库,以使该Fieldbus过程控制网络的该至少一个Fieldbus过程控制参数与该Modbus过程控制网络的该Modbus注册号码相关联。
30.如权利要求26的方法,进一步包括步骤,响应于在该接口模块从该用户接口接收对注册映射数据库的请求消息,使该接口模块向该用户接口发射响应消息,该响应消息具有该至少一个Fieldbus过程控制参数的当前值、与该至少一个Fieldbus过程控制参数有关的信息、和该相关的Modbus注册号码。
31.如权利要求26的方法,其中,该接口模块适于将以太网协议消息发射到该用户接口和从该用户接口接收以太网协议消息。
全文摘要
一种接口模块被可操作地耦合到Fieldbus过程控制网络和Modbus过程控制网络,以便于在网络之间交换过程控制信息。接口模块存储注册映射数据库,其中,Fieldbus过程控制网络的现场设备中功能块的过程控制参数被映射成Modbus过程控制网络的注册号码。一旦Fieldbus过程控制参数被映射到Modbus寄存器,接口模块就适合于在Fieldbus过程控制网络上把对过程控制参数当前值的请求消息发射到Fieldbus现场设备,从Fieldbus现场设备接收响应消息,以及把当前的过程控制参数值存储在注册映射数据库中。
文档编号G06F13/14GK1745371SQ200480003343
公开日2006年3月8日 申请日期2004年1月27日 优先权日2003年1月30日
发明者埃里克·D·罗特沃德, 唐纳德·R·拉蒂摩尔, 迈克尔·J·格林, 罗伯特·J·卡斯尼尔, V·帕卢索 马科斯·A· 申请人:罗斯蒙德公司