CN109600356A - 使用低能量设备来桥接设备之间的通信的方法和装置 - Google Patents
使用低能量设备来桥接设备之间的通信的方法和装置 Download PDFInfo
- Publication number
- CN109600356A CN109600356A CN201811168911.XA CN201811168911A CN109600356A CN 109600356 A CN109600356 A CN 109600356A CN 201811168911 A CN201811168911 A CN 201811168911A CN 109600356 A CN109600356 A CN 109600356A
- Authority
- CN
- China
- Prior art keywords
- data
- ble
- exemplary
- field device
- power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
- H04B7/26—Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/4186—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13164—Remote and local programming unit, control panel
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23406—Programmer device, portable, handheld detachable programmer
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25186—Bluetooth
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25232—DCS, distributed control system, decentralised control unit
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25428—Field device
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Selective Calling Equipment (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
公开了方法、装置和制品。一种示例性装置包括现场设备,该现场设备包括网络桥接器,该网络桥接器将在该网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
Description
技术领域
本公开总体涉及过程控制系统,并且更具体地,涉及使用低能量设备来桥接设备之间的通信的方法和装置。
背景技术
实现用于管理与现场设备和位于工业过程控制环境中的其它类型的过程装备相关联的工业过程控制操作的工业通信协议。这种工业通信协议的示例包括高速可寻址远程传感器(HART)通信协议、PROFIBUS通信协议、基金会现场总线(Foundation Fieldbus)通信协议、MODBUS通信协议等。
蓝牙低能量(BLE)通信协议被实现为促成BLE兼容设备之间的无线通信的无线个域网通信协议。这种BLE兼容设备的示例通常包括台式计算机、膝上型计算机、平板电脑、智能电话和个人数字助理(PDA)。传统上,根据BLE通信协议格式化的数据与根据上述工业通信协议格式化的数据不兼容。
发明内容
本文公开了使用低能量设备来桥接设备之间的通信的方法和装置。在一些公开的示例中,一种装置包括:现场设备,该现场设备包括网络桥接器,该网络桥接器用于将在该网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
在一些公开的示例中,一种方法包括:经由现场设备的网络桥接器通过执行一个或多个机器可读指令将在该网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过网络桥接器从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
在一些公开的示例中,公开了一种包括指令的非暂时性可读存储介质。在一些公开的示例中,该指令在被执行时使得机器至少将在网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议格式化的第二数据。
附图说明
图1是根据本公开内容的教导的示例性环境的示意图,该示例性环境包括示例性现场设备,该示例性现场设备具有示例性网络桥接器,该网络桥接器用于通过示例性BLE网络来桥接现场设备与示例性远程设备之间的通信。
图2是根据本公开内容的教导的图1的示例性环境的另一示意图,该示例性环境包括图1的示例性现场设备,该示例性现场设备具有示例性网络桥接器,该示例性网络桥接器用于通过示例性BLE网络来桥接现场设备与第一至第三示例性远程设备之间的通信。
图3是图1-2的BLE桥接装置的示例性实现的框图。
图4是远程设备与现场设备之间的示例性BLE通信路径的框图。
图5是属性协议分组的示例性实现的框图。
图6A是描绘示例性BLE通告(advertise)数据格式的示例性实现的示例性框图。
图6B是描绘另一示例性BLE通告数据格式的示例性实现的示例性框图。
图6C是描绘图6B的示例性BLE通告格式的示例性结构的示例性表格。
图7A是描绘示例性BLE扫描响应数据格式的示例性实现的示例性框图。
图7B是描绘图7A的示例性BLE扫描响应数据格式的示例性结构的示例性表格。
图8是描绘对应于图6B的示例性BLE通告格式和图7A的示例性BLE扫描响应数据格式的示例性通告和扫描响应数据的示例性表格。
图9是示例性制造商命令配置文件和示例性制造商命令服务的示例性实现的框图。
图10是描绘对应于示例性数据特征结构的示例性命令服务数据属性的示例性表格。
图11是描绘对应于示例性接收流动控制结构的示例性接收流动控制数据属性的示例性表格。
图12A是描绘示例性命令协议应用程序接口(API)命令数据的示例性表表格。
图12B是描绘示例性命令协议API命令数据的另一示例性表格。
图12C是描绘示例性API命令和示例性API响应的示例性格式的示例性表格。
图13-17是表示可以使用图1-4的示例性BLE桥接装置执行以促成设备之间的BLE通信的示例性方法的流程图。
图18是根据图1-2的现场设备的输入功率描绘图1-4的示例性BLE桥接装置的数据速率的示例性图表。
图19是表示可以使用图1-4的远程设备来执行以促成设备之间的BLE通信的示例性方法的流程图。
图20是被构造为执行机器可读指令以实现图13-17的方法和/或图1-4的示例性BLE桥接装置以实现本文公开的示例的示例性处理器平台的框图。
图21是被构造为执行机器可读指令以实现图19的方法和/或图1-4的示例性远程设备以实现本文公开的示例的示例性处理器平台的框图。
附图未按比例绘制。只要有可能,在贯穿附图和随附的书面描述中将使用相同的附图标记来表示相同或相似的部分。
具体实施方式
近年来,技术已越来越多地用于工业应用中以促成设备之间的通信。蓝牙是用于在工业、科学和医学(ISM)无线电频带(例如,2.4至2.4835GHz)中使用短波长超高频无线电波在短距离上交换数据的无线技术标准。在诸如过程控制系统的工业应用中实现蓝牙的传统方法包括将诸如高速可寻址远程传感器(HART)调制解调器的工业协议通信器通信地耦合到典型的蓝牙无线电装置(例如,其操作基于蓝牙核心规范版本5.0的蓝牙无线电装置)。
例如,现场设备(例如,具有足够功率预算来操作蓝牙无线电装置的现场设备)可以将HART信息封装在蓝牙分组内并将蓝牙分组传送到远程客户端,其中该远程客户端经由典型的蓝牙无线电装置接收信息,该蓝牙无线电装置经由总线通信地耦合到主处理器。在这样的示例中,典型的蓝牙无线电装置可以传送或接收信息,而无需考虑可用的功率预算。如本文所使用的,术语“功率预算”是指可由现场设备的部件用于执行操作(例如,过程控制操作、BLE操作、通信操作等)的电功率量(例如,基于电压、电流等的电功率)。例如,远程客户端可以使用整个可允许功率预算来传送信息,以增加典型蓝牙无线电装置的射程和/或数据吞吐量。
通常,由于功率预算限制,标准蓝牙无线电装置尚未被集成到某些过程控制系统现场设备(诸如阀定位器或其它低功率仪器)中。例如,阀定位器可以基于由外部数据采集和控制系统提供的4-20毫安电流回路来按功率预算操作。在这样的示例中,阀定位器可以利用大部分可用功率预算来执行阀定位器的主要功能(例如,主要过程控制功能)。在一些示例中,当阀定位器利用大部分可用功率预算时,可以对标准蓝牙无线电装置施加功率限制。在一些示例中,与阀定位器上小于3mW的示例性功率预算可供用于潜在的蓝牙接口相比,标准蓝牙集成电路利用大约150毫瓦(mW)的功率来发挥作用。例如,阀定位器的功率预算中可能没有足够的功率供标准蓝牙无线电装置用于提供现场设备与另一设备(例如,另一现场设备、远程设备等)之间的高效通信路径。结果,基于低功率现场设备的受约束或受限的功率预算,标准蓝牙无线电装置可能不是供低功率现场设备用来实现与另一设备的通信操作的理想选择。
蓝牙低能量(蓝牙LE或BLE)是基于标准蓝牙技术的无线通信技术(例如,在相同的2.4-2.4835GHz ISM频带的频谱范围内操作),旨在提供显著降低的功耗和成本,同时保持类似的通信范围。BLE在结构上与经典蓝牙不同并且与其不兼容。例如,BLE使用与传统蓝牙相比不同的信道集合。在这样的示例中,与经典蓝牙的79个1MHz信道相比,BLE可以具有40个2MHz信道。在另一示例中,BLE不支持用于替换串行通信接口(例如,RS-232通信、RS-485通信等)的串行端口配置文件(SPP)。
本文公开的示例使用BLE来形成一个或多个低功率设备之间的通信桥接,以改善通信的互操作性,降低执行通信的成本和复杂性,以及提高设备之间的通信速度。在一些公开的示例中,BLE桥接装置促成一个或多个客户端设备(例如,艾默生AMS TREXTM)与服务器设备(例如,现场设备、控制器、阀定位器等)之间的通信。例如,BLE桥接装置可以耦合和/或通信地耦合到现场设备,诸如本地控制器、无头(headless)控制器(例如,PLC类型设备)、阀定位器、压力变送器、温度变送器、液位变送器等。例如,BLE桥接装置可以用于与一个或多个客户端设备、一个或多个现场设备等和/或它们的组合建立对等通信。
在一些公开的示例中,现场设备通信地耦合到一个或多个远程设备,诸如艾默生AMS Trex。例如,远程设备可以包括在标准操作系统(例如,基于WindowsTM的操作系统、Apple操作系统、AndroidTM操作系统、操作系统等等)上操作的过程控制相关软件应用。在这样的示例中,远程设备可以经由BLE与现场设备通信。
在一些公开的示例中,现场设备通信地耦合到一个或多个其它现场设备。例如,现场设备可以经由工业通信协议从一个或多个其它现场设备获得信息,并且经由BLE或任何其它有线或无线通信方法将该信息传送到远程设备、过程控制系统等。在一些公开的示例中,现场设备经由有线或无线工业通信协议(诸如HART通信协议、WirelessHART(WiHART)通信协议、PROFIBUS通信协议、基金会现场总线通信协议或MODBUS通信协议)通信地耦合到一个或多个其它现场设备。
本文公开的示例改善了设备之间的通信互操作性,因为BLE桥接装置可以促进(1)使用传统工业通信协议的现场设备和(2)经由BLE的远程设备之间的通信。本文公开的示例降低了成本和复杂性,因为BLE桥接装置可以促成现场设备之间的通信,而无需额外的用于执行通信转换和传输的专用硬件(例如,外部通信网关设备和对应的硬件,诸如电源、断路器、外壳等)。本文公开的示例可以在远程设备中的BLE无线电装置(例如,BLE收发机)的物理硬件层之上的软件应用层中实现。因此,本文公开的示例可以改善远程设备与现场设备之间的互操作性,因为远程设备可以使用任何传统的操作系统和任何传统的BLE无线电装置。
在一些公开的示例中,BLE桥接装置促成从现场设备到远程设备的信息传输。现场设备可以支持诸如HART协议之类的工业通信协议。例如,HART协议定义了基于贝尔202调制解调器标准来结构化的数据分组。因此,不需要经由BLE将HART数据分组支持信息(例如,HART前导码、HART地址等)发送到远程设备。例如,HART前导码用于根据贝尔202调制解调器标准的载波检测和同步,并且不需要包括在BLE数据分组中,因为没有用于进行检测或同步的贝尔202调制解调器。例如,BLE桥接装置可以从现场设备接收HART协议数据分组,从HART协议数据分组中移除HART协议信息,并且经由BLE将HART协议数据分组的有效载荷数据传送到(例如,仅将有效载荷数据传送到)远程设备。在这样的示例中,远程设备可以重建包括有效载荷数据的HART协议数据分组,并将重构的HART协议数据分组传送到在远程设备上操作的应用。
在一些公开的示例中,BLE桥接装置促成信息从远程设备到现场设备的传输。示例性BLE桥接装置可以标识由现场设备所支持的一个或多个协议。响应于从BLE无线电装置接收到接收请求,BLE桥接装置确定该接收请求是否对应于现场设备所支持的协议。响应于确定该接收请求对应于支持的协议,BLE桥接装置批准接收请求并从远程设备接收一个或多个数据分组。示例性BLE桥接装置从所接收的数据分组中移除BLE信息,将支持的协议信息(例如,HART协议前导码、HART协议地址等)添加到所接收的数据分组,并经由UART终端、I2C总线、SPI总线等将经处理的数据分组发送到现场设备的微控制器单元(MCU)。例如,MCU可以是执行现场设备的一个或多个过程控制操作(例如,测量阀位置,经由工业通信协议传送信息等)的处理器。在一些公开的示例中,BLE桥接装置从接收自远程设备的数据分组中移除BLE信息,并将该数据分组传送到现场设备的MCU,而无需将支持协议信息添加到数据分组。
在一些公开的示例中,从远程设备接收移除了协议信息的数据分组增加了基于受约束的功率预算的数据接收速率。例如,可以将附加信息代替协议信息传送到现场设备。在一些公开的示例中,将移除了协议信息的数据分组传送到远程设备增加了基于受约束的功率预算的数据传输速率。对于其中可用功率预算受到约束的低功率现场设备,示例性BLE桥接设备可以减少诸如协议信息之类的非数据有效载荷信息量,以增加现场设备与远程设备之间的数据传输速率。
图1是示例性环境100的示意图,示例性环境100包括示例性现场设备102,示例性现场设备102具有示例性网络桥接器104(例如示例性BLE桥接器),网络桥接器104用于通过示例性BLE网络108桥接现场设备102与示例性远程设备106之间的通信。在所示的示例中,现场设备102耦合到在过程控制环境112中操作的流体流动控制组件110。所示示例的流体流动控制组件110是气动地致动的阀组件。
在所示的示例中,外壳114耦合到流体流动控制组件110,其至少包括致动器116和阀118(例如蝶形阀、截止阀等)。经由来自气动管连接120的气动压力的变化来激活所示示例的致动器116。然而,可以附加地或替代地使用其它阀组件,诸如电致动的阀组件、液压致动的阀组件等。虽然在示出的示例中,示例性BLE桥接器104包括在外壳114中,但替换地示例性BLE桥接器104可以位于其它地方。
在所示示例中,现场设备102是阀控制器。或者,示例性现场设备102可以是控制器(例如,本地单回路过程控制器)、压力变送器、温度变送器、液位变送器、pH变送器、阀定位器等。所例示的示例控件的现场设备102控制、测量和/或监控与流体流动控制组件110相关联的一个或多个过程控制操作。例如,现场设备102可以实现为控制、测量和/或监控操作地耦合到阀118的致动器116的操作,并将对应于该操作的信息传送到外部设备(诸如远程设备106)的控制器。在这样的示例中,控制器可以控制致动器116的操作和/或阀118的位置(例如,阀经由致动器116打开或关闭的程度)。
在所示示例中,现场设备102基于根据工业通信协议格式化并通过工业通信网络传送到现场设备102和/或从现场设备102传达的数据(例如,控制命令,控制信号等)来控制、测量和/或监控与流体流动控制组件110相关联的一个或多个过程控制操作(例如,打开阀118、校准阀118等)。在一些示例中,工业通信协议可以是HART通信协议、PROFIBUS通信协议、基金会现场总线通信协议或MODBUS通信协议中的一种。
在所示示例中,现场设备102经由BLE网络108使用BLE桥接器104与远程设备106通信。在所示示例中,天线122嵌入在现场设备102的前面板中(例如,在外壳114的前面板中)。在一些示例中,现场设备102将现场设备信息传送到远程设备106,诸如对应于流体流动控制组件的过程控制参数(例如,致动器压力、供应压力、阀位置等)。在一些示例中,现场设备102将现场设备信息传送到远程设备106,诸如现场设备102的配置信息、诊断信息等(例如,登录用户到现场设备102的身份、内部事件日志、控制器的校准版本、控制器的固件版本、流体流动控制组件110的型号等)。在一些示例中,现场设备102将现场设备信息传送到远程设备106,该现场设备信息为诸如警报(alert)信息(例如,校准误差、丢失位置反馈警报、低供应压力报警(alarm)、安全性异常、使用BLE无线电装置的端口的安全性异常等)。
在一些示例中,远程设备106经由BLE网络108使用BLE桥接器104将信息传送到现场设备102。例如,远程设备106可以从现场设备102获得配置信息,诸如控制器的固件版本。响应于远程设备106确定固件版本不是当前的,远程设备106可以将固件的当前版本下载到现场设备102。在另一个示例中,远程设备106可以经由BLE网络108配置流体流动控制组件110的一个或多个参数。例如,远程设备106可以调整过压报警设置、测量单位参数、过程控制变量最小和/或最大范围设置等。
无线地执行这样的动作(例如,下载固件、改变设置、校准现场设备102等)降低了在流体流动控制组件110上执行操作(例如,维护操作)的复杂性。例如,在没有BLE网络108的情况下,可能需要获得高温作业许可证以打开外壳114从而访问控制器。在另一个示例中,可能需要在对现场设备102执行作业之前关闭过程控制环境112中的过程控制操作,以防止潜在的电火花在有害气体环境中引起爆炸。示例性BLE桥接器104通过经由BLE网络108促成现场设备102与远程设备106之间的通信来降低维护操作的复杂性。
图2是图1的示例性环境100的另一示意图,该示例性环境100包括图1的示例性现场设备102,示例性现场设备102具有图1的示例性网络桥接器104以桥接现场设备1 200、现场设备2 202和现场设备3 204之间的通信。在所示示例中,BLE桥接器104正在处理(例如,能够处理、能够同时处理等)现场设备102与远程设备1-3 200、202、204之间的多个BLE通信连接。例如,现场设备102可以将现场设备信息传送到远程设备1-3 200、202、204中的一个或多个和/或从远程设备1-3 200、202、204中的一个或多个接收信息(例如,固件可执行文件,配置设置等)。尽管在图2中仅描绘了远程设备1-3 200、202、204,但是可以使用比远程设备1-3 200、202、204更少或更多的远程设备。
在所示示例中,现场设备102通信地耦合到分布式控制系统(DCS)206。例如,DCS206可以包括一个或多个数据采集和控制系统,其包括一个或多个控制器。所示示例的现场设备102经由包括一根或多根电线的电缆208通信地耦合到DCS 206。附加地或替代地,示例性现场设备102可以经由无线连接连接到DCS 206。例如,现场设备102可以经由电缆208、WirelessHART(WiHART)连接、Wi-Fi网络等,和/或它们的组合与DCS 206通信。或者,示例性现场设备102可以经由BLE桥接器104与远程设备1-3 200、202、204中的一个或多个通信,而不是通信地耦合到DCS 206。
在所示示例中,现场设备102经由无线连接212通信地耦合到压力变送器210。例如,压力变送器可以是ROSEMOUNTTM 3051S无线差压式流量变送器。或者,压力变送器210可以是任何其它类型的现场设备,诸如流速变送器、温度变送器、阀定位器等。所示示例的无线连接212是WiHART连接。或者,可以使用任何其它无线连接。在所示示例中,现场设备102将信息发送到压力变送器210并从压力变送器210接收信息。例如,压力变送器210可以发送信息(例如,压力测量、压力变送器210的诊断结论、压力变送器210的配置参数等)到现场设备102。
图3是图1-2的现场设备102的图1-2的BLE桥接器104的示例性实施方式的示例性框图。在所示示例中,BLE桥接器104包括示例性接收机发射机(RX/TX)接口300、示例性输入/输出接口310、示例性平台管理器320、示例性蓝牙低能量(BLE)堆栈处置器330,示例性数据库335、以及示例性BLE接口340。所示示例的平台管理器320包括示例性命令处理器322、示例性协议处置器324、以及示例性功率管理器326。所示示例的协议处置器324包括RX/TX接口处置器328。还示出了示例性现场设备MCU 350、示例性远程设备360、以及示例性BLE网络370。
在图3的所示示例中,BLE桥接器104是用于执行现场设备MCU 350与诸如远程设备360之类的外部BLE兼容设备之间的通信操作的MCU。所示示例的BLE接口340促成经由BLE网络370的BLE通信。所示示例的BLE桥接器104包括在现场设备102中。在一些示例中,从现场设备MCU 350发送到BLE桥接器104的数据分组是由现场设备支持的工业通信协议定义的格式。例如,现场设备102可以支持HART协议。在这样的示例中,现场设备MCU 350可以经由接收机发射机接口300和/或输入/输出接口310以HART协议格式将数据分组发送到BLE桥接器104。
在所示示例中,BLE桥接器104包括接收机发射机接口300,以实现BLE桥接器104与现场设备MCU 350之间的通信。所示示例的接收机发射机接口300是UART。例如,接收机发射机接口300可以使用工业通信协议(例如,HART通信协议、PROFIBUS通信协议、WiHART通信协议等)向现场设备MCU 350发送信息和/或从现场设备MCU 350接收信息。替代地,示例性接收机发射机接口300可以是内部集成电路(I2C)总线、串行外围接口(SPI)总线或集成电路(例如,微控制器、处理器等)之间的其它类似接口。
在图3所示的示例中,BLE桥接器104包括输入/输出接口310,以实现BLE桥接器104和现场设备MCU 350之间的通信。所示示例的输入/输出接口310是模数转换器。例如,输入/输出接口310可以将与从远程设备360获得的信息相对应的电流信号、电压信号等发送到现场设备MCU350。替代地,示例性输入/输出接口310可以是通用输入/输出(GPIO)接口或任何其它类型的输入/输出接口。
在图3所示的示例中,BLE桥接器104包括平台管理器320,用以分析和生成命令、基于所识别的协议来转换数据分组、和/或管理BLE桥接器104的功率预算。在所示示例中,平台管理器320包括命令处理器322,用以基于数据流的方向确定并指导通信操作。在一些示例中,命令处理器322识别现场设备102的一个或多个支持的协议。例如,命令处理器322可以确定现场设备102支持HART通信协议和PROFIBUS通信协议。在这样的示例中,命令处理器322可以通过查询现场设备MCU 350、通过查询数据库335等来获得所支持的协议。例如,命令处理器322可以响应于查询现场设备MCU而获得所支持的协议。在这样的示例中,命令处理器322可以将与所识别的支持协议相对应的信息或值存储在数据库335中,以供未来由命令处理器322获取。在另一个示例中,命令处理器322可以基于查询存储在数据库355中的与现场设备102的支持协议相对应的硬编码参数来确定所支持的协议。
在一些示例中,命令处理器322基于主从通信模型确定数据流的方向。例如,命令处理器322可以确定数据分组对应于来自接收机发射机接口300的发送请求(例如,从设备向主设备发送通知)。在这样的示例中,命令处理器322可以指导数据分组要被处理并且从接收机发射机接口300发送到BLE堆栈处置器330。在另一个示例中,命令处理器322可以确定数据分组对应于来自BLE接口340的接收请求(例如,主设备将数据分组发送到从设备而无需来自从设备的响应)。在这样的示例中,命令处理器322可以指导数据分组要被处理并且从BLE接口340发送到接收机发射机接口300。
在一些示例中,命令处理器322基于安全信息(例如,安全许可、安全规则等)来评估读取和写入BLE请求。例如,命令处理器322可以确定基于将接收请求的操作码与授权操作码的列表进行比较来授权接收请求。在这样的示例中,命令处理器322可以在命令处理器322确定操作码未被授权时拒绝该接收请求。例如,未授权的操作码可以指示经由BLE桥接器104向现场设备102发送信息的用户不被允许访问现场设备102上的信息、变更信息等。
在一些示例中,命令处理器322基于确定操作码的值是否对应于特定工业通信协议来执行BLE桥接器104的通信操作。例如,命令处理器322可以确定与BLE接口340处的接收请求相对应的操作码的值对应于HART协议。示例性命令处理器322可以确定现场设备102支持HART协议。在这样的示例中,命令处理器322可以基于由操作码值指示的协议与现场设备102的支持的协议的比较来指导BLE接口340从远程设备360接收信息。在一些示例中,命令处理器322基于由操作码值指示的协议和现场设备102的(多个)支持的协议的不匹配来拒绝接收请求。在一些示例中,命令处理器322指导通过调用协议处置器324来执行一个或多个操作以处理从现场设备MCU 350和/或远程设备360接收的数据分组。
在一些示例中,命令处理器322处理无线电专用命令。例如,命令处理器322可以处理下面结合图12B描述的命令。例如,命令处理器322可以指导BLE堆栈处置器330调整或改变BLE接口340的发送功率电平。例如,命令处理器322可以指导BLE堆栈处置器330降低BLE接口340发送功率电平以节省功率。在另一个示例中,命令处理器322可以指导BLE堆栈处置器330增加BLE接口340的发送功率电平以增加BLE接口340的传输范围。在一些示例中,当命令处理器322检测到BLE接口340的现有无线电频率的问题时,命令处理器322通过执行滤波器(例如,陷波滤波器)处理无线电专用命令。在一些示例中,命令处理器322通过完全关闭BLE接口340以进入全无线电静默模式来处理无线电专用命令。
在图3所示的示例中,平台管理器320包括协议处置器324,以基于现场设备MCU350和远程设备360之间的数据流的方向来执行通信操作。在一些示例中,协议处置器324基于从现场设备MCU 350到BLE桥接器104的数据流来执行通信操作。在这样的示例中,协议处置器324确定用于传输的数据分组是否是通信会话的第一数据分组。例如,响应于确定数据分组是通信会话的第一数据分组,协议处置器324可以读取并存储现场设备MCU 350的协议地址(例如,HART协议地址、PROFIBUS地址等)。响应于确定数据分组不是通信会话的第一数据分组,示例性协议处置器324可以从数据分组中移除协议地址。
在一些示例中,协议处置器324包括要发送到远程设备106的数据分组中的协议地址以用于工业通信协议数据分组重建。例如,要发送到远程设备106的第一数据分组可以包括远程设备106可以用于未来通信操作的协议地址。替代地,远程设备106可以向现场设备102发送包括返回协议特定地址的操作码的读取请求。替代地,示例性协议处置器324可以定义返回具有地址的HART消息的操作码以及返回没有地址的HART消息的操作码。例如,远程设备106可以发送操作码以使得现场设备102返回具有现场设备102的地址的HART消息。在这样的示例中,协议处置器324可以移除协议信息,诸如HART前导码、消息完整性检查等,并将HART地址移动到要被发送到远程设备106的BLE分组的数据有效载荷中,以用于数据分组重建。
在一些示例中,协议处置器324在经由BLE接口340发送数据分组之前从数据分组中移除协议信息。例如,现场设备MCU 350可以将HART5格式化的数据分组发送到协议处置器324。在这样的示例中,协议处置器324可以从HART 5格式化的数据分组中移除HART 5协议信息,诸如HART5协议前同步码、HART 5协议地址、HART 5消息完整性检查(integritycheck)等。响应于从数据分组中移除协议信息,示例性协议处置器324可以指导BLE堆栈处置器330经由BLE接口340发送BLE数据分组。
在一些示例中,协议处置器324基于现场设备102的支持的协议而添加协议信息,诸如协议前导码、协议地址、和协议消息完整性检查。例如,BLE接口340可以接收来自远程设备106的数据分组,其包括与HART7协议相对应的标识符。在这样的示例中,协议处置器324可以将HART 7协议信息(诸如HART 7协议前导码、HART 7协议地址、HART 7消息完整性检查等)添加到所接收的数据分组。响应于将协议信息添加到所接收的数据分组,示例性协议处置器324可以指导接收机发射机接口300将经处理的数据分组(例如,具有添加的协议信息的所接收的数据分组)发送到示例性现场设备MCU 350。
在一些示例中,协议处置器324基于从远程设备360到BLE桥接器104的数据流来执行通信操作。在这样的示例中,协议处置器324确定在BLE接口340处接收的数据分组是否有效或被正确地形成、格式化等。在一些示例中,示例性协议处置器324通过确定数据分组是否被正确地形成来保护现场设备MCU 350免受故意恶意形成的数据或部分恶意形成的数据(例如,模糊测试)的影响。
在一些示例中,协议处置器324基于评估工业协议命令来确定数据分组是否被正确地形成。例如,协议处置器324可以接收包括工业协议命令的数据分组。在这样的示例中,协议处置器324可以确定工业协议命令是有效的(例如,HART命令0为有效)还是无效的(例如,HART命令255为无效)。示例性协议处置器324可以基于验证工业协议命令为有效来接受数据分组,或者基于没有验证工业协议命令为有效来拒绝数据分组。
在一些示例中,协议处置器324基于评估与工业协议命令相对应的数据长度(例如,字节数量)来确定数据分组是否被正确地形成。例如,协议处置器324可以接收包括具有8字节的相应数据长度的工业协议命令的数据分组。在这样的示例中,协议处置器324可以确定工业协议命令由最多6个字节定义以便正确地形成。示例性协议处置器324可以将所接收的8字节的数据长度与所定义的正确形成的6字节长度进行比较,并且基于该比较确定数据分组未被正确地形成。在这样的示例中,协议处置器324可以基于确定数据分组未被正确形成来拒绝数据分组和/或将错误码发送到数据分组的发射机。
在一些示例中,协议处置器324基于评估参数值的范围来确定数据分组是否被正确地形成。例如,协议处置器324可以接收包括阀位置设定点参数的值为2000%的数据分组。在这样的示例中,协议处置器324可以确定阀位置设定点参数由0-100%的范围定义以便被正确地形成。示例性协议处置器324可以将所接收的2000%的范围与所定义的被正确形成的0-100%的范围进行比较,并且基于该比较确定数据分组未被正确地形成。在这样的示例中,协议处置器324可以基于确定数据分组未被正确形成来拒绝数据分组和/或将错误码发送到数据分组的发射机。
在图3所示的示例中,协议处置器324包括RX/TX接口处置器328,用以处理现场设备MCU 350和BLE接口340之间的通信操作。在一些示例中,RX/TX接口处置器328从接收机发射机接口300和/或输入/输出接口310接收数据分组,并且经由BLE堆栈处置器330将数据分组发送到BLE接口340。例如,RX/TX接口处置器328可以包括TX缓冲器,用以获得被指定为要从现场设备MCU 350发送到BLE接口340的数据分组。在一些示例中,RX/TX接口处置器328从BLE接口340接收数据分组并将数据分组发送到现场设备MCU 350。例如,RX/TX接口处置器328可以包括RX,用以获得被指定要从BLE接口340发送到现场设备MCU 350的数据分组。所示示例的BLE接口340和现场设备MCU 350支持UART、I2C、SPI、和/或其它类似的集成电路通信协议。
在图3所示的示例中,平台管理器320包括功率管理器326,用以确定图1-2的现场设备102的模式,以执行对BLE桥接器104的可用功率预算的功率评估,并基于功率评估事件来调整BLE接口340的一个或多个参数。在一些示例中,功率管理器326通过查询现场设备MCU 350、数据库355等来确定现场设备102的模式。
在一些示例中,功率管理器326基于来自现场设备MCU 350的信息、数据库355中的信息来确定现场设备102处于维护模式。在这样的示例中,功率管理器326可以禁用现场设备102的一个或多个功能(诸如测量阀118的位置、测量致动器116的供应压力等)以节省能量。响应于禁用一个或多个功能,功率管理器326可以将与禁用的功能相对应的能量重新分配给BLE接口340。例如,功率管理器326可以禁用一个或多个过程控制操作以向BLE桥接器104给予更多功率以增加数据速率吞吐量。
在一些示例中,功率管理器326基于来自现场设备MCU 350的信息、数据库355中的信息等来确定现场设备102处于安全模式。在这样的示例中,功率管理器326可以禁用对一个或多个现场设备参数的写访问。例如,功率管理器326可以禁用对存储在现场设备MCU350、数据库355等中的固件版本值、序列号值、错误日志文件、BLE接口参数(例如,BLE连接间隔、BLE无线电地址等)等的写访问。
在一些示例中,功率管理器326确定输入功率是否满足阈值。例如,功率管理器326可以确定现场设备102的输入功率,将输入功率与一个或多个阈值进行比较,并基于该比较确定输入功率是否满足一个或多个阈值。在这样的示例中,功率管理器326可以基于输入功率满足一个或多个阈值来标识功率评估事件。例如,功率管理器326可以将输入功率与低功率阈值进行比较。在这样的示例中,功率管理器326可以将3.8mA的输入功率与4mA的低功率阈值进行比较,并且通过输入功率小于低功率阈值来确定输入功率满足低功率阈值。在这样的示例中,功率管理器326可以基于输入功率满足低功率阈值来标识功率评估事件。在另一个示例中,功率管理器326可以将输入功率与高功率阈值进行比较。在这样的示例中,功率管理器326可以将15.8mA的输入功率与12.5mA的高功率阈值进行比较,并且通过输入功率大于低功率阈值来确定输入功率满足高功率阈值。在这样的示例中,功率管理器326可以基于输入功率满足高功率阈值来标识功率评估事件。
在一些示例中,功率管理器326基于根据时间的输入功率的变化率来计算输入功率变化率。例如,功率管理器326可以在现场设备102的每一个周期(例如,每一个控制周期、每100毫秒、每1秒等)期间确定设备的输入功率。在这样的示例中,功率管理器326可以计算功率输入的变化率(例如,每一个控制周期的1.5mA、2.5mA等的变化率),将功率输入的变化率与输入功率变化率阈值进行比较,并且基于该比较来确定输入功率变化率是否满足输入功率变化率阈值。例如,功率管理器326可以计算每个控制周期的3mA的输入功率变化率,将输入功率变化率与每个控制周期的2.5mA的输入功率变化率阈值进行比较,并基于输入功率变化率大于输入功率变化率阈值来确定输入功率变化率满足输入功率变化率阈值。在这样的示例中,功率管理器326可以基于输入功率变化率满足输入功率变化阈值来标识功率评估事件。
在一些示例中,功率管理器326基于功率评估事件(诸如经过时间定时器、现场设备102的功率的突然变化、要传输到现场设备102的数据量的变化、要从远程设备360接收的数据量的变化等)来执行功率评估。在一些示例中,功率评估事件是BLE桥接器104、现场设备102等的启动(start-up)。在一些示例中,功率评估事件是来自用户、诸如远程设备360之类的外部设备等的手动触发。在一些示例中,响应于检测到功率评估事件,功率管理器326读取现场设备102的功率输入(例如,电压、电流等)。
在一些示例中,功率管理器326基于BLE桥接器104的可用功率预算、BLE接口340的状态或参数等来执行功率评估。在一些示例中,功率管理器326执行功率评估,该功率评估包括测量BLE接口340的无线电传输速率。例如,功率管理器326可以基于每秒传输的字节数量(例如,计算以字节/秒为单位的传输速率)来计算BLE接口340的传输速率(例如,当前传输速率、即时传输速率等)。
在一些示例中,功率管理器326基于无线电传输速率来计算无线电能量消耗(REC)值(例如,以每秒毫瓦(mW)或毫焦耳(mJ)为单位测量的REC值)。例如,功率管理器326可以通过对BLE接口340进行激活、启用、唤醒等来确定所消耗的能量的量。例如,功率管理器326可以确定BLE接口340的能量开销值,该能量开销值包括用以与平台管理器320、BLE堆栈处置器330等执行指令或过程、处理来自接收机发射机接口300的数据、加密从接收机发射机接口300接收的数据等的功率。
在一些示例中,功率管理器326计算REC值而无需包括BLE接口340的激活能量(例如,该激活能量被单独计算)。例如,功率管理器326可以基于(1)将每个数据分组的能量开销(EO)(例如,以mJ为单位测量的EO)与包括每秒传输的数据分组的数量的第一数据速率相乘的值以及(2)将每数据字节的EO与包括每秒传输的字节数量的第二数据速率相乘的值的求和来计算REC。例如,功率管理器326可以基于下面的等式(1)来计算REC。
在一些示例中,功率管理器326计算无线电能量消耗值,该无线电能量消耗值包括BLE接口340的激活能量。例如,功率管理器326可以基于(1)将每个数据分组以mJ为单位测量的的能量开销(EO)与包括每秒传输的数据分组的数量的第一数据速率相乘的值、(2)将每数据字节的EO与包括每秒传输的字节数量的第二数据速率相乘的值、以及(3)将每秒静止(quiescent)能量的量与BLE接口340激活所采用的时间量相乘的值的求和来计算REC。例如,功率管理器326可以基于下面的等式(2)来计算REC:
在一些示例中,功率管理器326使用滤波器(例如,卡尔曼滤波器)基于现场设备102的功率输入和功率输出等,经由GPIO或模数转换器硬件来测量存储在BLE接口340的功率供给源中的能量。在一些示例中,BLE接口340包括在BLE无线电装置的功率供给源上的一个或多个存储电容器,以确保连续的无线电通信。
在一些示例中,功率管理器326确定所请求的通信操作的大小(size)。例如,功率管理器326可以计算多个数据分组以执行数据传输操作或数据接收操作。在一些示例中,功率管理器326确定数据速率以支持所请求的通信操作的大小。例如,功率管理器326可以基于BLE桥接器104的可用功率预算、基于时间的用于完成通信操作的要求等来确定数据传输速率以将现场设备信息从BLE接口340发送到远程设备360。在一些示例中,功率管理器326基于功率评估(例如,可用功率预算)来计算最大传输速率。
在一些示例中,功率管理器326指导BLE堆栈处置器330基于功率评估来调整BLE接口340的参数。例如,功率管理器326可以确定对参数(诸如连接间隔、无线电功率电平(例如,无线电传输功率电平、无线电接收功率电平等)、有效载荷大小、延迟级别(例如,从设备延迟级别)和/或其组合)的调整,并指导BLE堆栈处置器330实现该调整。
在一些示例中,功率管理器326基于功率评估(例如,现有功率预算)调整功率评估事件定时器(例如,功率评估之间的时间量)。例如,功率管理器326可以基于确定相对低功率预算来增大功率评估事件定时器。例如,功率管理器326可以在一段时间内减少功率评估的数量以节省现场设备102的功率。在一些示例中,功率管理器326基于对图1的现场设备102的输入功率(例如,输入功率)、现场设备102的内部功率存储部件中存储的功率(例如,存储的功率,电容器、电感器中存储的功率等)、经由BLE接口340由BLE堆栈处置器330要发送或接收数据(例如,输出功率)的所请求的功率量等、和/或其组合来计算功率评估定时器。
在这样的示例中,功率管理器326计算BLE接口340可以基于当前配置(例如,当前传输速率、当前传输功率等)消耗(drain)所存储的功率的时间量(例如,存储的功率消耗时间)。例如,功率管理器326可以将功率评估定时器计算为小于所存储的功率消耗时间,以帮助确保在BLE桥接器104消耗足够的可用功率预算之前评估现场设备102、BLE桥接器104等的功率状态,以产生功率匮乏事件(例如,由于没有足够的可用功率,现场设备102、BLE桥接器104等不能执行功能的事件)。例如,功率管理器326可以基于输入功率(例如,以毫焦耳为单位测量的输入功率)、所存储的功率(例如,以毫焦耳为单位测量的所存储的功率)、以及输出功率(例如,以毫焦耳为单位测量的功率)来调整功率评估事件定时器,如下面的等式(3)所述。
在所示示例中,BLE桥接器104包括BLE堆栈处置器330,用以管理BLE接口340。在一些示例中,BLE堆栈处置器330通过蓝牙无线连接来模拟串行端口连接。例如,BLE堆栈处置器330可以模拟UART以促成BLE接口340和平台管理器320之间的通信。在一些示例中,BLE堆栈处置器330实现对BLE接口340的参数的改变。例如,BLE堆栈处置器330可以基于功率管理器326对连接间隔调整的确定来调整BLE接口340的连接间隔。
在所示示例中,BLE桥接器104包括数据库355,用以记录数据(例如,现场设备102的模式、协议地址、BLE堆栈处置器330的参数、BLE接口340的参数等)。示例性数据库355可以响应对与数据库355中的数据相关的信息的查询。例如,示例性数据库355可以通过提供附加数据(例如,一个或多个数据点)、通过提供与数据库355中的附加数据相关联的索引等来响应对附加数据的查询。示例性数据库355可以另外地或替代地通过提供空索引、数据库标识符的结尾等在数据库355中没有附加数据时响应查询。
示例性数据库355可以由易失性存储器(例如,同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)等)和/或非易失性存储器(例如,闪存)实现。示例性数据库355可以附加地或替代地由一个或多个双倍数据速率(DDR)存储器(例如,DDR、DDR2、DDR3、DDR4、移动DDR(mDDR)等)实现。示例性数据库355可以另外地或替代地由一个或多个大容量存储设备(诸如硬盘驱动器、压缩盘驱动器、数字通用盘驱动器、固态驱动器等)来实现。尽管在所示的示例中,将数据库355示出为单个数据库,但是数据库355可以由任何数量和/或类型的数据库来实现。
在所示示例中,BLE桥接器104包括BLE接口340,用于以向诸如远程设备360之类的外部设备发送信息和/或从外部设备接收信息。所示示例的BLE接口340是工作在2.4GHz未经许可的ISM频段的无线电收发机。例如,BLE接口340可以基于由功率管理器326定义和/或由BLE堆栈处置器330实现的连接间隔、无线电功率电平、等待时间等来操作无线电收发机。
尽管在图3中示出了实现图1-2的BLE桥接器104的示例性实施方式,但是图3中示出的元件、过程和/或设备中的一个或多个可以被组合、分割、重新布置、省略、消除和/或以任何其它方式实现。此外,示例性接收机发射机接口300、示例性输入/输出接口310、示例性平台管理器320、示例性命令处理器322、示例性协议处置器324、示例性功率管理器326、示例性RX/TX接口处置器328、示例性BLE堆栈处置器330、示例性数据库335、示例性BLE接口340,和/或更一般地,图1-2的示例性BLE桥接器104可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例性接收机发射机接口300、示例性输入/输出接口310、示例性平台管理器320、示例性命令处理器322、示例性协议处置器324、示例性功率管理器326、RX/TX接口处置器328、示例性BLE堆栈处置器330、示例性数据库335、示例性BLE接口340,和/或更一般地示例性BLE桥接器104中的任何一个,可以由一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)来实现。当阅读本专利的装置或系统权利要求中的任一项以覆盖纯软件和/或固件实施方式时,示例性接收机发射机接口300、示例性输入/输出接口310、示例性平台管理器320、示例性命令处理器322、示例性协议处置器324、示例性功率管理器326、RX/TX接口处置器328、示例性BLE堆栈处置器330,示例性数据库335和/或示例性BLE接口340在此明确被定义为包括了包括软件和/或固件的非暂时性计算机可读存储设备或存储盘(诸如存储器、数字通用盘(DVD)、光盘(CD)、蓝光盘等)。此外,图1-2的示例性BLE桥接器104包括图3所示的实施例之外或代替图3中所示的实施例的一个或多个元件、过程和/或设备,和/或可以包括任何或所有所示的元件、过程和设备中的一个。
图4是远程设备404的示例BLE协议栈402与现场设备406的BLE协议栈402之间的示例BLE通信路径400的框图。所示示例的BLE协议栈402基于蓝牙核心规范(例如,蓝牙核心规范版本5.0)。图4中所示的元件、过程和/或块中的一个或多个可以被组合、分割、重新布置、省略、消除和/或按任何其它方式实现。图4的所示示例的远程设备404可对应于图1的远程设备106、图2的远程设备1-3 200、202、204和/或图3的远程设备360。图4所示示例的现场设备406可对应于图1-2的现场设备102和/或图3的现场设备MCU 350。示例性BLE协议栈402可与图3的示例性BLE堆栈处置器330一起执行。在所示示例中,远程设备404的链路层/物理层445通信地耦合到现场设备406的链路层/物理层445。
在所示示例中,BLE协议栈402包括示例性应用层410、示例性通用接入协议(GAP)层415、示例性通用属性配置文件(GATT)层420、示例性属性协议(ATT)层425、示例性安全管理器协议430、示例性逻辑链路控制和适配协议(L2CAP)层435、示例性主机控制器接口层440、和示例性链路层/物理层445。
在图4所示的示例中,BLE协议栈402包括用于获得和处理应用数据的应用层410。例如,远程设备404的应用层410可包括到在标准操作系统上操作的过程控制应用的接口。在另一示例中,现场设备406的应用层410可包括到图3的现场设备MCU 350上的应用(例如,固件应用、与处理器一起执行指令的固件应用等)的接口。
在图4所示的示例中,BLE协议栈402包括用于定义BLE协议栈402的一般拓扑结构的GAP层415。例如,GAP层415定义远程设备404和现场设备406如何使它们自身可用(例如,可用于广播)以及远程设备404和现场设备406如何彼此通信(例如,连接)。例如,GAP层415定义BLE广播器和BLE观察器的角色。例如,BLE广播器可以是广播公共通告数据分组的设备,BLE观察器可以是监听由广播器发送的通告分组中的数据的设备。
在图4所示的示例中,BLE协议栈402包括用于定义BLE客户端(例如,图1的远程设备106)和BLE服务器(例如,图1-4的现场设备102)的角色的GATT层420。例如,BLE客户端可以是向GATT服务器发送请求的设备,其中BLE客户端可以读取和/或写入在该服务器中找到的属性。BLE服务器可以是存储属性的设备。例如,一旦BLE客户端作出请求,服务器就必须使属性可用。
在图4所示的示例中,BLE协议栈402包括用于定义在远程设备404和现场设备406之间传送属性数据的协议的ATT层425。示例性ATT层425包括示例性GATT层420的功能,诸如写请求、写响应、通知、读响应等。例如,GATT层420定义并创建应用层410中的给定应用的适当属性,并且ATT层425创建传出数据分组并解析定义GATT层420中的动作的传入数据分组。
在图4所示的示例中,BLE协议栈402包括用于处理属性许可级别(诸如,读许可、写许可等)的安全管理器协议430。在一些示例中,安全管理器协议430执行诸如设备认证、设备授权、数据完整性、数据机密性和/或数据隐私性之类的服务。在一些示例中,安全管理器协议430将用户(例如,管理员、工程师、用户等)的许可级别与用户请求的动作(例如,读请求、写请求等)的许可级别进行比较。在这样的示例中,如果许可级别不匹配,则安全管理器协议430防止用户执行动作。例如,安全管理器协议430可丢弃与未经授权的动作相对应的数据分组,并且可向用户传送指示该动作未得到授权的错误码。
在图4所示的示例中,协议栈402包括用于管理诸如ATT、安全管理协议(SMP)等较高层协议的数据分组的服务质量(QoS)、路由、分割和重组的L2CAP层435。在图4所示的示例中,协议栈402包括用于与图3的BLE接口340对接的HCI层440。例如,HCI层440可在BLE协议栈402的各层之间传输BLE命令、BLE事件、BLE数据分组等。在图4所示的示例中,BLE协议栈402包括链路层/物理层445,用于控制、处理、管理等L2CAP分组的传输,同时确保数据的交付(例如,担保交付)和完整性。
图5是ATT协议分组580的示例实现的框图。在所示示例中,ATT协议分组500包括前导码502、访问地址504、协议数据单元(PDU)506和循环冗余校验码(CRC)508。所示示例的前导码502是用于对数据的接收机(例如,远程设备404、现场设备406等)进行同步和定时的2字节值。例如,BLE分组中的前导码值0xAA可指示BLE分组是广播分组。所示示例的访问地址504是标识BLE设备的4字节值。例如,BLE分组的访问地址值0x8E89BED6可指示BLE分组是广播分组。
在图5所示的示例中,示例性PDU 506可以是在2到257字节的范围内的值。例如,图3的电源管理器326可基于图3的BLE桥接器104的可用功率预算来确定PDU 506的大小。示例性PDU 506包括链路层(LL)头部510,其是标识图4的示例性链路层/物理层445的2字节值。示例性PDU 506包括示例性PDU有效载荷512,其是0到251字节范围内的值。示例性PDU 506包括示例性消息完整性检查(MIC)514,其是用于评估BLE分组的数据完整性的4字节值。示例性PDU有效载荷512包括示例性L2CAP头部516,其是标识图4的示例性L2CAP层435的4字节值。
图5所示示例的示例性PDU有效载荷512包括示例性ATT数据518,其是处于0到247字节范围内的值。示例性ATT数据518包括示例性ATT头部520和示例性ATT有效载荷522。示例性ATT头部520是由示例性操作码524和示例性句柄(handle)526组织的3字节值。示例性操作码524是可对应于要执行的指令或操作的1字节值。示例性句柄526是对应于关于图4的示例性GATT层420上的GATT服务器的属性。示例性ATT有效载荷522是在0字节到244字节范围内的对应于要向远程设备404、现场设备406等传送的数据(例如,现场设备信息、固件可执行代码等)的值。
在图5所示的示例中,存在ATT协议分组500的若干元素,这些元素可基于可用功率预算来调整或移除。例如,协议处置器324可在将数据分组传送到图1的远程设备360之前,移除LL头部510、L2CAP头部516、MIC 514等。在另一示例中,功率管理器326可基于可用功率预算来增大或减小PDU 506的大小,和/或调整最大传输单元(MTU)参数。例如,功率管理器326可基于BLE桥接器104的可用功率预算的增加和/或MTU的增加来将PDU 506的大小从100字节增加到257字节。在另一示例中,功率管理器326可基于BLE桥接器104的可用功率预算的减小和/或MTU的减小来将PDU 506的大小从257字节减小到10字节。
图6A是描绘示例性BLE通告数据格式600的示例性实现的示例框图。所示示例中的BLE通告数据格式600是已知的传统BLE PDU格式(例如,基于蓝牙核心规范版本5.0)。示例性BLE通告数据格式600描述了由设备用于生成用于在BLE网络中对信息进行通告的BLE分组的格式。示例性BLE通告数据格式600包括数据结构AD Data0(AD数据0)602、ADData 1(AD数据1)604、ADData 2(AD数据2)606,其中这些数据结构中的每一数据结构包括长度参数608a、AD类型参数608b和AD数据参数608c。例如,长度参数可对应于AD数据的长度(例如,位数、字节数等)。AD类型参数可对应于AD数据的数据类型,例如布尔值、整型、浮点数等。
图6B是描绘另一示例性BLE通告数据格式610的示例性实现的示例性框图。示例性BLE通告数据格式610描述了被设备用来生成用于在BLE网络中对信息进行通告的BLE分组的格式。例如,图1的现场设备102可基于BLE通告数据格式610生成通告分组,并经由图1的BLE网络108将通告分组传送到设备(例如,图1的远程设备106)。所示示例的BLE通告数据格式610包括数据结构AD Data 0 620和AD Data 1 630。在所示的示例中,数据结构AD Data0 620对应于设备的经缩短的本地名称,并且数据结构AD Data 1 630对应于制造商专用数据。例如,设备的经缩短的本地名称可以是用于标识现场设备的名称(例如,P&ID标签)。示例性数据结构AD Data 0 620可包括经缩短的本地名称,因为远程设备可能没有列出没有数据结构AD Data 0 620的BLE设备。示例性数据结构AD Data 1 630包括制造商专用的通告和扫描响应数据(ADSR)。ADSR数据包括标识符和附加数据。在一些示例中,标识符和附加数据可被串接,一直达到通告PDU的最大可允许长度。在一些示例中,ADSR字段可被移除。
图6B的示例性数据结构AD Data 0 620包括由“Q+1”表示的第一长度字段622,其中Q表示数据结构AD Data 0 620的可调整长度。在所示示例中,BLE通告数据格式610支持扩展和基于传统的通告格式两者。例如,对于扩展的通告格式,最大长度Q为248字节,并且对于传统通告格式,最大长度Q为29字节。
所示示例的示例性数据结构AD Data 0 620包括第一AD类型字段624,该第一AD类型字段624包括字节值0x08的十六进制表示。所示示例的字节值0x08可指示数据结构ADData 0 620包括与如图6C中所描述的设备的经缩短的本地名称相对应的数据。示例性数据结构AD Data 0 620包括第一AD数据字段626,该第一AD数据字段626表示具有长度Q的UTF-8经缩短的本地名称字符串。在所示示例中,数据结构AD数据0 620可能不需要空终止符。在一些示例中,当第一AD数据字段626包括字符串时,该字符串的第一字符被放置在字节0中。
在图6B所示的示例中,数据结构AD数据1 630是用于对响应数据进行通告和扫描的可扩展的灵活结构。在一些示例中,数据结构AD数据1630可如现场设备102的操作员所要求的那样来被结构化。例如,过程控制行业中的操作员可消除数据结构AD Data 1 630以实现数据隐私性(例如,限制要在BLE网络中广播的信息),或者基于操作员的要求来对数据结构AD Data 1 630进行结构化。在这样的示例中,操作员可自由地定义数据的顺序、不超过最大PDU大小的数据的长度、数据中的元素的数量、数据中包括的信息等。在一些示例中,数据结构AD Data 1 630可以是动态的。例如,数据结构AD Data 1 630可在数据分组传输之间调整。在一些示例中,数据结构AD Data 1 630可被加密。例如,如果接收设备具有适当的解密密钥,则可仅对数据结构AD Data 1 630进行解码。在一些示例中,数据结构AD Data 1630可用传统的通告和扫描响应格式(例如,图6A的示例性BLE通告数据格式600)和扩展的通告和扫描响应格式来起作用。
所示示例的数据结构AD Data 1 630包括由“P+3”表示的第二长度字段632,其中P表示数据结构AD Data 1 630的可调整长度。所示示例的示例性数据结构AD Data 1 630包括第二AD类型字段634,该第二AD类型字段634包括字节值的十六进制表示0xFF。所示示例的字节值0xFF可指示数据结构AD Data 1 630包括与如图6C中所描述的制造商专用数据相对应的数据。
所示示例的数据结构AD数据1 630包括第二AD数据字段636。第二示例性AD数据字段636包括示例性公司ID LSB 638、示例性公司ID MSB 640和示例性ADSR数据字段642(例如,ADSR 0、ADSR 1、ADSR P-1等),其在图6C中被进一步描述。在所示示例中,ADSR数据字段642被串接为具有总长度P。在一些示例中,对于扩展的通告,P的最大长度为246-Q。在一些示例中,对于传统的通告,最大长度是26-Q。在一些示例中,除了数据类型和数据长度以外,第二AD数据字段636中包括的信息可由制造商或操作员定义。例如,ADSR数据字段642可由于隐私问题而被从现场设备102的第一操作员调整到另一现场设备的第二操作员。例如,第一操作员可定义ADSR数据字段642包括用于加密ADSR数据字段642的隐私位。在这样的示例中,BLE桥接器104可广播ADSR数据字段624,但是仅具有相应解密密钥的设备可对经加密的ADSR数据字段624进行解码。在另一示例中,第一操作员可包括比第二操作员更多的ADSR数据字段。
图6C是描绘图6B的示例性BLE通告数据格式610的示例性结构的示例表格650。示例性表格650包括示例性数据结构AD Data 0 620和AD Data 1 630中的各字段的描述、通告数据(ADVDATA)索引、以及对应的值和注释。
图7A是描绘示例性BLE扫描响应数据格式700的示例性实现的示例性框图。示例性BLE扫描响应数据格式700描述了由设备用于响应于接收到通告分组而生成BLE分组的格式。例如,图1的远程设备106可响应于从现场设备102接收到通告分组(例如,基于图6B的BLE通告数据格式610的分组)而基于BLE扫描响应数据格式700生成扫描响应分组。在这样的示例中,远程设备106可经由图1的BLE网络108将扫描响应分组传送到现场设备102。在所示示例中,ADSR数据被串接成具有总长度R。在一些示例中,BLE扫描响应数据格式支持扩展的通告和传统的通告两者。例如,对于扩展的通告,最大长度R为247字节。在另一示例中,对于传统的通告,最大长度是27个字节。
图7B是描绘图7A的示例性BLE扫描响应数据格式700的示例性结构的示例性表格710。示例性表格710包括采用图7A的BLE扫描响应数据格式700的示例性数据结构中的各字段的描述、通告数据(ADVDATA)索引、以及对应的值和注释。
图8是描绘对应于图6B的示例性BLE通告数据格式610以及图7A的示例性BLE扫描响应数据格式700的示例性通告和扫描响应数据的示例性表格800。在所示的示例中,表格800包括可用于标识设备的支持协议、要在处理数据分组时使用的协议等(诸如HART 5,HART 6,HART 7等)的标识符。
在一些示例中,为了使通告PDU的大小最小化,ADSR数据长度被暗示。例如,暗示长度(implied length)对应于对数据分组进行传送,而没有与该数据分组的数据有效载荷中的参数的长度相对应的信息。在这样的示例中,暗示长度在现场设备102、远程设备106等上预定义,以使得不需要为每一通信操作传送参数的长度,因为这些参数是基于标识符来暗示的。例如,典型的分组传输包括与数据有效载荷内的参数相对应的标识符、长度和数据。通过使用暗示长度,长度信息不被传送。例如,如表格800所示,接收第一标识符0x00指示下一数据点是另一标识符而不是与第一标识符相关联的数据。在另一示例中,如表格800所示,接收第二标识符0x08暗示接下来的6个字节是数据。使用暗示长度通过不发送对应于参数的长度的数据来减少功率,并且允许更多的有效载荷数据代替长度被传送。在这样的示例中,使用暗示数据长度提供配置可能对现场设备、终端用户等有用的广播信息时的灵活性。
在图8所示的示例中,表格800包括可用于表示设备信息、公共变量(例如,当前值、设定点、阀位置等)的数据值。示例性表格800还包括可用于表示阀专用参数、发射机专用参数、警报、,协议专用参数等的数据值。替换地或附加地,可存在比示例性表格800中描绘的更少或更多的协议、设备信息、公共(common)、阀专用(valve specific)、发射机专用(tranmitter specific)、警报和协议公共类别。另外地或替代地,示例性表格800中所描绘的每一类别中可存在比所描绘的元素更少或更多的元素(例如,公共类别中可能存在多于4个或少于4个元素)。
图9是示例性制造商命令配置文件900和示例性制造商命令服务910的示例性实现的框图。示例性制造商命令配置文件900表示包括协议层(诸如图4的GATT层420和ATT层425)所使用的模式和接入规程在内的基本功能。例如,制造商命令配置文件900可处理以下结合图12B描述的命令。例如,制造商命令配置文件900可包括预定义的服务集合,例如示例性制造商命令服务910。示例性制造商命令服务910表示使用BLE协议执行命令的功能。BLE围绕读写参数或特征进行组织。例如,制造商命令配置文件900和制造商命令服务910包括参数分组。在一些示例中,制造商命令服务910通过声明值只读或读写来限制对信息或外部改变的访问(例如,来自图1的远程设备106的对现场设备102写请求)。例如,现场设备102可实现安全特征,该安全特征在现场设备102处于安全操作模式时对读写能力进行限制。
所示示例的示例性制造商命令服务910包括示例性数据特征结构920。尽管图9中仅描绘了示例性数据特征结构920,但可使用一个以上的数据特征结构。示例性数据特征结构920使用操作码和有效载荷来支持BLE网络上的工业通信协议,例如HART,基金会现场总线等。附加地或替代地,数据特征结构920可包括辅助命令,例如口令质询、设备信息查询等。在一些示例中,最大数据特征大小为244字节,该大小是使用251字节的PDU大小减去L2CAP头部的4个字节以及减去通知消息头部的3个字节计算得到的。
在图9所示的示例中,数据特征结构920包括示例性声明结构922、示例性值结构924和示例性描述符结构926。所示示例的示例性声明结构922包括关于特征的数据(例如,通用唯一标识符(UUID))。所示示例的示例性值结构924是包括要在各设备之间传送的感兴趣数据(例如,固件数据、现场设备102的压力值、现场设备102的校准版本值等)的特征的值。所示示例的示例性描述符结构926用于控制数据特征结构920的行为和/或提供与数据特征结构920相对应的附加信息。例如,描述符结构926可在禁用或启用通知时被使用。
在图9所示的示例中,制造商命令服务910包括示例性接收(RX)流动控制结构930。尽管图9中仅描绘了示例性RX流动控制结构930,但可使用一个以上的RX流动控制结构。示例性RX流动控制结构包括示例性声明结构922、示例性值结构924和示例性描述符结构926。尽管示例性描述符结构926在示例性数据特征结构920和RX流动控制结构930中示出,但是作为替换,描述符结构926可以从示例性数据特征结构920和RX流动控制结构930中的一者或两者中被移除。
在一些示例中,RX流动控制结构930用于促成大数据交换(例如,100千字节、400千字节等)的通信。大数据交换的示例性实例是用于将固件信息从图1的远程设备106下载到图1的现场设备102。例如,RX流动控制结构930包括用于启动或停止数据传输的通知命令。例如,图1的现场设备102可使用RX流动控制结构930来生成数据分组,并将该数据分组传送到图1的远程设备106,以启动到现场设备102的数据传输。
在一些示例中,从远程设备到现场设备的命令是使用利用响应的写入或不利用响应的写入被发送到数据特征结构920的。在这样的示例中,现场设备使用通知来对远程设备作出响应。例如,利用响应写入现场设备较慢,并且比不利用响应的写入消耗更多的可用功率预算。在一些示例中,利用响应写入现场设备可用于评估、确定等BLE连接(例如,图1的BLE网络108)是否仍是活动的(例如,操作图1的远程设备106的用户没有走出图1的BLE桥接器104的范围)。
在一些示例中,远程设备确定BLE连接是否仍然是活动的。例如,为了节省图1的现场设备102的功率,远程设备106可确定何时用利用响应命令的写入来查询现场设备102。在这样的示例中,远程设备106可生成BLE分组并将ATT有效载荷(例如,图5的ATT有效载荷522)设置为0字节,并将BLE分组发送到现场设备102。示例性远程设备106可基于从现场设备102接收响应BLE分组来确定BLE网络108是活动的。在一些示例中,利用响应的写入和不利用的响应的写入被混合以节省现场设备的能量。例如,为了到现场设备102的大数据传输(诸如固件下载),远程设备106可传送包括利用响应的写入的第一命令,并将该第一命令与包括不利用响应的写入的第二命令混合。例如,远程设备106可每10个第二命令发送一个第一命令,以增加固件下载的数据速率并降低执行固件下载时使用的能量。
图10是描绘与图9的示例性数据特征结构920相对应的示例性命令服务数据属性的示例性表格1000。示例性表格1000是由蓝牙特别兴趣小组定义的标准GATT格式。在所示示例中,表格1000包括图9的声明结构922、值结构924和描述符结构926。在一些示例中,声明结构922和值结构924是强制性的,而描述符结构926是可选的。
在所示示例中,声明结构922定义值结构924的属性。所示示例的声明结构922包括类型字段、许可字段和属性字段。例如,图9的数据特征结构920的声明结构922可基于对应于许可和属性字段的字节中包括的信息将值结构924定义为没有响应动作的只读许可。在所示的示例中,声明结构922的类型字段的值为0x2803(例如,第一索引[0]的值0x03和第二索引[1]的值0x28被组合以形成0x2803)。在这样的示例中,值0x2803采用小端字节(littleendian)格式,并对应于具有定义格式的特征声明。替换地,示例性值可以是对应于包括声明(Include Declaration)的0x2802、对应于主要服务声明(Primary ServiceDeclaration)的0x2800,或对应于辅助服务声明(Secondary Service Declaration)的0x2801。
在所示示例中,值结构924包括类型字段、许可字段和数据字段。例如,远程设备106可通过以下来生成要写入现场设备102的数据分组:将GATT_AUTHOR_WRITE许可包括在该数据分组的值结构924中。在这样的示例中,远程设备106可将数据字段中包括的数据写入到现场设备102。在所示示例中,描述符结构926包括类型字段、许可字段和数据字段。例如,远程设备106可通过以下来禁用现场设备102上的通知:在数据分组中包括GATT_PERMIT_AUTHOR_WRITE许可和包括值0x0000(例如,与禁用通知相对应的值),并将数据分组发送到现场设备102。
图11是描绘与图9的示例性RX流动控制结构930相对应的示例性接收流动控制数据属性的示例性表格1100。在所示的示例中,表格1100包括图9的声明结构922、值结构924和描述符结构926。在所示示例中,声明结构922包括类型字段、许可字段和属性字段。例如,图9的RX流动控制结构930的声明结构922可包括具有只读许可的16位UUID和不具有响应动作的写入。在这样的示例中,图1的远程设备106可为图1的现场设备102生成只读数据分组。示例性现场设备102可读取数据分组,并响应于接收和/或读取数据分组,不生成到远程设备106的响应分组。
在所示示例中,值结构924包括类型字段、许可字段和数据字段。例如,远程设备106可通过以下来生成现场设备102要读取的数据分组:在该数据分组的值结构924中包括GATT_AUTHOR_READ(GATT_作者_读取)。在这样的示例中,远程设备106可包括该数据分组的数据字段中所包括的数据值0x00,以指示对应于远程设备106的现场设备102不可发送数据。在所示示例中,描述符结构926包括类型字段、许可字段和数据字段。例如,远程设备106可通过在数据分组中包括GATT_PERMIT_AUTHOR_WRITE(GATT_许可_作者_写入)许可并包括值0x0000(例如,与禁用通知相对应的值),并将该数据分组发送到现场设备102来禁用现场设备102上的通知。
图12A是描绘示例性命令协议应用程序接口(API)命令数据的示例性表格1200。示例性表格1200包括字节索引字段、字段字段和描述字段。示例性表格1200的字节索引字段表示声明结构922的字节索引。例如,字节索引[0]可对应于操作码字段,而字节索引[1]-[1+N-1]表示数据有效负载。
图12B是描绘示例性命令协议API命令数据的示例性表格1210。示例性制造商命令配置文件900可利用示例1210中列出的命令。示例性表格1210包括描述字段、许可字段、操作码字段。示例性表格1210将操作码的值映射到示例性许可设置,该示例性许可设置包括管理员(ADMIN)、工程师和用户。例如,操作码0x02映射到SYSTEM_GET_FIRMWARE_VERSION(系统_获得_固件_版本)命令,并且仅可由管理员级别访问权执行。在一些示例中,通过将可用命令映射到许可设置,可实现安全检查和协议以确保图1的现场设备102的安全和可靠操作。在所示示例中,表格800包括无线电专用命令,例如SYSTEM_PING、SYSTEM_REBOOT(系统_重启)、SYSTEM_GET_FIRMWARE_VERSION(系统_获得_固件_版本)、SYSTEM_TX_POWER(系统_传送_功率)和SYSTEM_GET_UART_PARAMETERS(系统_获得_UART_参数)。例如,无线电专用命令可不被发送到图3的现场设备MCU 350,而改为由图3的BLE堆栈处置器330处理。在一些示例中,在设备信息(例如,设备类型、协议类型等)未被通告时,使用FIELD_DEVICE_GET_INFO(现场_设备_获得_信息)命令。另外地或替代地,可存在比示例性表格1210中描绘的命令的数量更少或更多的命令。
图12C是描绘示例性API命令和示例性API响应的示例性格式的示例性表格1220。所示示例的示例性API命令是SYSTEM_PING。示例性表格1220包括类型字段、长度字段和有效载荷字段。示例性类型字段包括命令(CMD)动作和响应(RSP)动作。例如,命令动作的字节长度为0x00,响应动作的字节长度为0x06。在示例性表格1220中,有效载荷字段包括操作码字段、字节索引字段和值字段。例如,SYSTEM_PING API命令包括操作码值0x00,其中字节索引[0-3]对应于32位无符号整型(unit32)值(该值对应于自上次重启以来的几秒钟),并且字节索引[4-5]对应于16位无符号整形(unit16)值(该值对应于自上次重启以来的一秒钟的若干分之几(例如,秒分数的1/32768))。例如,远程设备106可向现场设备102发送RSP类型的SYSTEM_PING命令。在这样的示例中,现场设备102可向远程设备106发传送数据分组响应,该数据分组响应包括对应于几秒钟的时间值以及自现场设备102的上次重启以来的一秒钟的若干分之几。
图13-17中示出了表示用于实现图1-4的BLE桥接器104的示例性方法的流程图。在这些示例中,这些方法可使用机器可读指令来实现,这些机器可读指令包括供处理器(诸如,以下结合图20讨论的示例性处理器平台2000中示出的处理器2012)执行的程序。该程序可被具体化在存储在非暂时性计算机可读存储介质(诸如,与处理器相关联的CD-ROM、软盘、硬盘驱动器、DVD、蓝光盘或存储器)上的软件中,但整个程序和/或其部分可替代地由除处理器2012之外的设备执行和/或被具体化在固件或专用硬件中。此外,虽然参考图13-17中所示的流程图描述了示例性程序,但可替代地使用实现示例性BLE桥接器104的许多其它方法。例如,块的执行次序可被改变,和/或所描述的一些块可被改变、消除或组合。另外地或替代地,这些块中的任何块或全部块可由被构造成执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、比较器、运算放大器(op-amp)、逻辑电路等)来实现,而无需执行软件或固件。
如上所述,图13-17的示例性过程可使用经编码的指令(例如,计算机和/或机器可读指令)来实现,这些经编码的指令被存储在其中信息被存储达任何持续时间(例如,达延长的时间段、持久地、达简短的时刻、用于临时缓存、和/或为了该信息的高速缓存)的非暂时性计算机和/或机器可读介质(例如硬盘驱动器、闪存、只读存储器、CD、DVD、高速缓存、随机存取存储器和/或任何其它存储设备或存储盘)中。如本文所使用的,术语非暂时性计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。“包括”和“包含”(及其所有的形式和时态)在本文中都被用作开放式术语。因此,每当权利要求列出在任何形式的“包括”或“包含”(例如,包含、包括、正包含、正包括等)之后的任何内容时,应理解可存在附加要素、术语等,而不会落在相应权利要求的范围之外。如本文中所使用的,当短语“至少”被使用作为权利要求的前序中的过渡术语时,它以与术语“包含”和“包括”是开放式的相同的方式是开放式的。
图13是表示可由图1-4的BLE桥接器104执行以执行图3的现场设备MCU 350和图3的远程设备360之间的通信操作的示例性方法1300的流程图。示例性方法1300在框1302处开始,在框1302,示例性BLE桥接器104标识现场设备支持的协议。例如,命令处理器322可确定图1的现场设备102的现场设备MCU 350支持HART和MODBUS协议。
在框1304处,示例性BLE桥接器104确定数据分组对应于来自UART的传送(TX)请求还是来自BLE堆栈的接收(RX)请求。例如,命令处理器322可确定数据分组对应于在图3的接收机发射机接口300上从现场设备MCU 350接收到的数据分组,该数据分组将经由图3的BLE接口340来传送。在这样的示例中,命令处理器322可确定数据分组对应于来自UART的TX请求。
如果在框1304处示例性BLE桥接器104确定该数据分组对应于来自UART的TX请求,则控制前进到框1316以调用用于处理现场设备的数据分组的协议处置器。如果在框1304处示例性BLE桥接器104确定数据分组对应于来自BLE堆栈的RX请求(例如,数据分组是在BLE堆栈处置器330处经由BLE接口340被接收到的),则在框1306处,BLE桥接器104确定操作码是否被授权。例如,命令处理器322可确定数据分组的操作码0x00被映射到为ADMIN的许可级别,如图12B中所示出的。在这样的示例中,命令处理器322可将操作码的许可级别与连接到现场设备102的用户(例如,远程设备106的用户、远程设备106等)的许可级别进行比较。例如,命令处理器322可基于远程设备106的用户的为ENGINEER(工程师)的许可级别与执行对应于该数据分组的操作码的动作所需的为ADMIN(管理员)的许可级别不匹配而确定该操作码不被授权。
如果在框1306处示例性BLE桥接器104确定操作码未被授权,则控制前进到框1312以拒绝RX请求,并且然后前进到框1318以将错误码传送到接收数据的发射机。如果在框1306处示例性BLE104确定操作码被授权,则在框1308处BLE桥接器104确定该操作码是否是协议操作码。例如,命令处理器322可确定该操作码是协议操作码,因为该操作码对应于与PROFIBUS PA相对应的协议操作码0x04。
如果在框1308处示例性BLE桥接器104确定操作码不是协议操作码,则控制前进到框1314以处理无线电专用命令。例如,命令处理器322可处理与BLE接口340相对应的命令(例如,通过处理以上结合图12B描述的命令)。如果在框1308处示例性BLE桥接器104确定操作码是协议操作码,则在框1310处,BLE桥接器104确定现场设备是否支持该协议。例如,命令处理器322可将数据分组中包括的(例如,图6B的数据结构AD Data1 630中包括的)协议标识符(例如,图8的示例性表格800中的协议标识符)与现场设备MCU 350的支持协议进行比较。在这样的示例中,命令处理器322可将对应于PROFIBUS PA的协议标识符0x05与现场设备MCU350的支持协议进行比较。在这样的示例中,命令处理器322可基于该比较确定该协议不被支持,因为现场设备MCU 350支持HART和MODBUS协议而不支持PROFIBUS PA。
如果在框1310处示例性BLE桥接器104确定该协议不被现场设备支持,则在框1312处,BLE桥接器104拒绝RX请求。例如,命令处理器322可丢弃接收到的数据分组,并前进到框1318以向发射机传送接收到的数据分组的错误码。如果在框1310处,例BLE桥接器104确定现场设备支持该协议,则控制前进到框1316以调用协议处置器以处理现场设备的数据分组。例如,命令处理器322可调用图3的协议处置器324来处理现场设备102的现场设备MCU350的数据分组。响应于调用协议处置器来处理现场设备的数据分组(框1316),传送错误码(框1318),或处理无线电专用命令(框1314),示例性方法1300结束。
图14是表示示例性方法1400的流程图,该示例性方法1400可以由图1-4的BLE桥接器104执行以调用协议处置器来处理现场设备的数据分组。图14的示例性过程可以用于实现图13的框1316的操作。示例性方法1400始于框1402,这时示例性BLE桥接器104确定数据分组是对应于来自UART的TX请求还是来自BLE堆栈的RX。例如,协议处置器324可以确定数据分组对应于在图3的接收机发射机接口300上从现场设备MCU350接收以便经由图3的BLE接口340传送的数据分组。在这样的示例中,命令处理器322可以确定数据分组对应于UARTTX请求。在另一示例中,协议处置器324可以确定数据分组对应于在图3的BLE接口340处从图1的远程设备106接收以便传送到现场设备MCU350的数据分组。在这样的示例中,命令处理器322可以确定数据分组对应于BLE RX请求。
如果在框1402处示例性BLE桥接器104确定数据分组对应于来自BLE堆栈的RX请求(例如,经由BLE接口340在BLE堆栈处置器330处接收的数据分组),则控制行进到框1404以确定该协议消息是否被正确地形成。例如,协议处置器324可以确定协议消息被正确地形成。如果在框1404处示例性BLE桥接器104确定协议消息未被正确地形成,则控制行进到框1420以拒绝该消息(例如,数据分组)并行进到框1422以发送错误码。如果在框1404处示例性BLE桥接器104确定协议消息被正确地形成,则控制行进到框1408以添加协议前导码、地址和消息完整性检查(MIC)。例如,协议处置器324可以将HART协议前导码、HART协议地址和HART协议MIC添加到所接收的数据分组。或者,示例性BLE桥接器104可以不执行框1408的功能并将数据分组(例如,操作码、数据有效载荷等和/或其组合)传递到现场设备MCU 350。
在框1414处,示例性BLE桥接器104将完整的协议消息传递到UART。例如,协议处置器324可以将完整的HART协议消息传递到接收机发射机接口300,以将HART协议消息传送到现场设备MCU 350。响应于将完整的协议消息传递到UART,示例性方法返回到图13的框1312。
如果在框1402处示例性BLE桥接器104确定数据分组对应于来自UART的TX请求,则在框1406处,BLE桥接器104确定数据分组是否是会话的第一TX数据分组。例如,协议处置器324可以确定从现场设备MCU 350接收到的数据分组不是通信会话的第一TX数据分组。如果在框1406处示例性BLE桥接器104确定数据分组不是该会话的第一TX数据分组,则控制行进到框1412以从消息中移除协议地址。例如,协议处置器324可以从接收自现场设备MCU 350的数据分组中移除HART协议地址。
如果在框1406处示例性BLE桥接器104确定数据分组是会话的第一TX数据分组,则在框1410处,BLE桥接器104从现场设备读取协议地址并存储该协议地址。例如,协议处置器324可以从现场设备MCU 350读取HART协议地址并存储该HART协议地址以用于未来的通信操作(例如,将HART协议地址存储在数据库中、存储在易失性存储器中、存储在非易失性存储器中等)。
在框1416处,示例性BLE桥接器104移除协议前导码和消息完整性检查。例如,协议处置器324可以移除HART协议前导码和HART协议消息完整性检查。
在框1418处,示例性BLE桥接器104传送(TX)缩短的协议消息。例如,协议处置器324可以指导BLE堆栈处置器330经由BLE接口340将缩短的协议消息发送到远程设备360。在一些示例中,通过在将从现场设备MCU 350接收的数据分组的协议信息传送到远程设备360之前就将其移除,可以通过减少要发送的数据量来节省现场设备102的功率(例如,减少BLE接口340为活跃的时间量)。在一些示例中,通过在将从现场设备MCU 350接收的数据分组的协议信息传送到远程设备360之前就将其移除,可以通过发送附加数据来代替所移除的信息来增加通信数据速率。响应于在框1418传送缩短的协议消息,示例性方法返回到图13的框1316。
图15是表示示例性方法1500的流程图,该示例性方法1500可以由图1-4的BLE桥桥接器104执行以标识功率评估事件。示例性方法1500始于框1502,这时示例性BLE桥接器104确定现场设备的模式。例如,功率管理器326可以确定图1-2的现场设备102处于维护模式。在这样的示例中,功率管理器326可以禁用现场设备102的一个或多个过程控制功能,并且将与禁用的功能相对应的功率重新分配给BLE桥接器104(例如,以提升BLE接口340的传输功率)。
在框1504处,示例性BLE桥接器104确定该BLE桥接器的输入功率。例如,功率管理器326可以查询现场设备MCU 350以获得对BLE桥接器104或BLE桥接器104的组件(例如BLE接口340)供电的电路的输入电流测量值或输入电压测量值。
在框1506处,示例性BLE桥接器104确定输入功率是否满足低功率阈值。例如,功率管理器326可以将4mA的输入功率与4.5mA的低功率阈值进行比较,并且基于输入功率小于低功率阈值来确定输入功率满足低功率阈值。
如果在框1506处示例性BLE桥接器104确定输入功率满足低功率阈值,则控制行进到框1512以标识功率评估事件。如果在框1506处示例性BLE桥接器104确定输入功率不满足低功率阈值,则在框1508处,BLE桥接器104确定输入功率是否满足高功率阈值。例如,功率管理器326可以将19.8mA的输入功率与19.5mA的高功率阈值进行比较,并且基于输入功率大于高功率阈值来确定输入功率满足高功率阈值。
如果在框1508处示例性BLE桥接器104确定输入功率满足高功率阈值,则控制行进到框1512以标识功率评估事件。如果在框1508处示例性BLE桥接器104确定输入功率不满足高功率阈值,则在框1510处,BLE桥接器104确定输入功率变化率是否满足输入功率变化率阈值。例如,功率管理器326可以针对现场设备102计算出每个控制周期3mA的输入功率变化率。在这样的示例中,功率管理器326可以将3mA的输入功率变化率与2mA输入功率变化率阈值进行比较,并且基于输入功率变化率大于输入功率变化率阈值来确定输入功率变化率满足输入功率变化率阈值。
如果在框1510处示例性BLE桥接器104确定输入功率变化率不满足输入功率变化率阈值,则控制行进到框1514以确定是否继续监控现场设备。如果在框1510处示例性BLE桥接器104确定输入功率变化率满足输入功率变化率阈值,则在框1512处,BLE桥接器104标识功率评估事件。例如,功率管理器326可以基于BLE桥接器104的可用功率预算来调整BLE接口340的参数。
在框1514处,示例性BLE桥接器104确定是否继续监控现场设备。例如,功率管理器326可以确定继续监控现场设备102的BLE接口340的输入功率。如果在框1514处示例性BLE桥接器104确定继续监控现场设备,则控制返回到框1502以确定现场设备的模式,否则示例性方法1500结束。
图16是表示示例性方法1600的流程图,该示例性方法1600可以由图1-4的BLE桥接器104执行以确定现场设备的模式。图16的示例性过程可以用于实现图15的框1502的操作。示例性方法1600始于框1602,这时在示例性BLE桥接器104确定BLE桥接器的输入功率。例如,功率管理器326可以查询现场设备MCU 350以获得对BLE桥接器104或BLE桥接器104的组件(例如BLE接口340)供电的电路的输入电流测量值或输入电压测量值。例如,功率管理器326可以确定图3的BLE接口340的输入电流测量值是8mA。
在框1604处,示例性BLE桥接器104确定现场设备是否处于维护模式。例如,功率管理器326可以基于查询图3的数据库355来确定现场设备102处于维护模式。如果在框1604处示例性BLE桥接器104确定现场设备未处于维护模式,则控制行进到框1610以确定现场设备是否处于安全模式。如果在框1604处示例性BLE桥接器104确定现场设备处于维护模式,则在框1606处,BLE桥接器104禁用(一个或多个)过程控制功能。例如,功率管理器326可以指导图3的现场设备MCU 350禁用现场设备102的一个或多个主要功能。
在框1608处,示例性BLE桥接器104将功率从所禁用的(一个或多个)功能重新分配给BLE桥接器。例如,功率管理器326可以将与一个或多个禁用功能相对应的功率重新分配给BLE堆栈处置器330、BLE接口340等。例如,BLE堆栈处置器330可以基于重新分配的功率(例如,基于分配给BLE桥接器104的可用功率预算的增加)来增加BLE接口340的传输功率。
在框1610处,示例性BLE桥接器104确定现场设备是否处于安全模式。例如,功率管理器326可以基于查询图3的数据库355来确定现场设备102处于安全模式。如果在框1610处示例性BLE桥接器104确定现场设备未处于安全模式,则控制行进到图15的框1404以确定现场设备的输入功率。如果在框1610处示例性BLE桥接器104确定现场设备处于安全模式,则在框1612处,BLE桥接器104禁用对精选的(select)现场设备参数的写访问。例如,功率管理器326可以禁止对BLE桥接器104、现场设备102等的一个或多个参数(例如固件版本、校准版本、错误日志、BLE接口传输功率等等和/或其组合)的写访问。响应于禁用对精选的现场设备参数的写访问,示例性方法1600返回到图15的框1504以确定现场设备的输入功率。
图17是表示示例性方法1700的流程图,该示例性方法1700可以由图1-4的BLE桥接器104执行以执行功率评估事件和调整BLE无线电装置(例如,BLE接口340)的参数。示例性方法1700始于框1702,这时示例性BLE桥接器104读取BLE桥接器功率输入。例如,功率管理器326可以查询现场设备MCU 350以测量或获得BLE桥接器104或BLE桥接器104的组件(例如BLE接口340)的功率输入的电流值、电压值等。在框1704处,示例性BLE桥接器104测量无线电传输速率。例如,功率管理器326可以以字节/秒为单位测量BLE接口340的无线电传输速率。
在框1706处,示例性BLE桥接器104计算无线电能量消耗。例如,功率管理器326可以如上所述根据等式(1)-(2)计算BLE接口340的无线电能量消耗。
在框1708处,示例性BLE桥接器104经由输入/输出接口测量存储在无线电功率供给中的能量,或者利用卡尔曼滤波器根据功率输入和功率输出来进行推断。例如,功率管理器326可以经由GPIO接口、模数转换器接口等确定存储在BLE接口340中的能量的量,和/或利用卡尔曼滤波器基于现场设备102的功率输入和功率输出来进行推断。
在框1710处,示例性BLE桥接器104确定所请求的所需通信数据量以及支持该请求所需的数据速率。例如,功率管理器326可以确定要从远程设备106传输到现场设备102的数据的量以及支持该传输所需的数据速率。
在框1712处,示例性BLE桥接器104计算针对现有功率预算的最大传输速率。例如,功率管理器326可以计算针对分配给BLE接口340的可用功率预算的最大数据传输速率。
在框1714处,示例性BLE桥接器104调整RX/TX无线电参数。例如,功率管理器326可以基于最大传输速率、可用功率预算、要传输的数据的量等等和/或其组合来调整BLE接口340的天线功率。
在框1716处,示例性BLE桥接器104基于现有功率预算来调整功率评估事件定时器。例如,功率管理器326可以根据等式(3)来调整如上所述的功率评估事件之间的时间。响应于调整功率评估事件定时器,示例性方法1700返回到图15的框1514以确定是否继续监控现场设备。
图18是根据图1-2的现场设备102的输入功率描绘图1-4的示例性BLE桥接装置的数据速率的示例性图1800。例如,BLE桥接器104、BLE接口340等的输入功率基于现场设备102的输入功率。在所示示例中,BLE桥接器104在4mA或更小处将图3的BLE接口340的数据速率设置在最小数据速率(例如,固定的最小数据速率)。例如,功率管理器326可以指导BLE堆栈处置器330将BLE接口340的数据速率降低到每秒1-2个消息的数据速率(例如,每秒1-2个数据分组),其中每个消息对应于256个字节。或者,可以使用任何其它输入功率值来设置BLE接口340的最小数据速率。
在所示示例中,BLE桥接器104在12mA或更大处将图3的BLE接口340的数据速率设置在最大数据速率(例如,固定的最大数据速率)。例如,功率管理器326可以指导BLE堆栈处置器330将BLE接口340的数据速率增加到每秒14-16千字节的数据速率。或者,可以使用任何其它输入功率值来设置BLE接口340的最大数据速率。在所示示例中,当输入功率是高于最小输入功率电平(例如,3.8mA、4mA、4.2mA等)直到最高输入功率电平(例如,12mA、16mA、20mA等)时,BLE桥接器104基于该输入功率来调整BLE接口340的数据速率。在所示示例中,BLE桥接器104在输入功率满足最大输入功率阈值(例如,12mA、16mA、20mA等)时不增加BLE接口340的数据速率,以防止BLE桥接器104使用图3的现场设备MCU 350可能需要的用于执行现场设备102的一个或多个过程控制功能的功率。
图19中示出了表示用于实现图1的示例性远程设备106、图2的示例性远程设备1-3200、202、204和/或图3的示例性远程设备360的示例性方法的流程图。在该示例中,该方法可以使用机器可读指令来实现,该机器可读指令包括用于由诸如下面结合图21讨论的示例性处理器平台2100中示出的处理器2112之类的处理器执行的程序。虽然程序可以体现在存储在非暂时性计算机可读存储介质(例如CD-ROM、软盘、硬盘驱动器、DVD、蓝光盘或与处理器2112相关联的存储器)上的软件中,但是整个程序和/或其部分可以替代地由除处理器2112之外的设备执行和/或体现在固件或专用硬件中。此外,虽然参考图19中所示的流程图来描述示例性程序,但是可以替代地用于实现示例性远程设备106、示例性远程设备1-3200、202、204和/或示例性远程设备360的许多其它方法。例如,可以改变框的执行顺序和/或可以改变、消除或组合所描述的一些框。另外地或替代地,任何或所有框可以由被构造为在不执行软件或固件的情况下执行对应操作的一个或多个硬件电路(例如,分立和/或集成的模拟和/或数字电路、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、比较器、运算放大器(op-amp)、逻辑电路等)来实现。
如上所述,图19的示例性过程可以使用存储在其中信息被存储任何持续时间(例如,延长的时间段、永久地、短暂地、用于临时缓冲、和/或用于缓存信息)的非暂时性计算机和/或机器可读存储介质(例如硬盘驱动器、闪存、只读存储器、CD、DVD、高速缓存、随机存取存储器和/或任何其它存储设备或存储盘)上的经编码的指令(例如,计算机和/或机器可读指令)来实现。
图19是表示示例性方法1900的流程图,该示例性方法1900可以由图1的远程设备106、图2的远程设备1-3 200、202、204和/或图3的远程设备360执行以使用BLE来执行通信操作。示例性方法1900始于框1902,此时远程设备106确定数据分组是对应于对现场设备的TX请求还是来自现场设备的RX。例如,远程设备106可以确定数据分组对应于来自图1的现场设备102的RX请求,其对应于BLE RX事件(例如,经由BLE无线电装置从现场设备102接收信息)。在另一示例中,远程设备106可以确定数据分组对应于对现场设备102的TX请求,其对应于BLE TX事件(例如,经由BLE无线电装置从远程设备106向现场设备102传送信息)。
如果在框1902处示例性远程设备106确定数据分组对应于对现场设备的TX请求,则控制行进到框1906以移除协议前导码、地址和消息完整性检查。例如,远程设备106可以在将数据分组发送到现场设备102之前从该数据分组中移除协议信息。通过在将数据分组发送到现场设备102之前从该数据分组中移除协议信息,示例性远程设备106可以引起现场设备102接收该数据分组所必需的功率量的减少。在框1910处,示例性远程设备106将缩短的协议消息传送到现场设备。例如,远程设备106可以将移除了协议信息的数据分组传送到现场设备102。响应于将缩短的协议消息传送到现场设备,示例性方法1900结束。
如果在框1902处示例性远程设备106确定数据分组对应于来自现场设备的RX事件,则在框1904处,远程设备106确定数据分组是否是会话的第一RX数据分组。如果在框1904处示例性远程设备106确定数据分组不是会话的第一RX数据分组,则控制行进到框1912,否则远程设备106行进到框1908以存储来自该现场设备的协议地址。例如,远程设备106可以存储图1的现场设备102的HART协议地址以用于未来的通信操作。
在框1912处,示例性远程设备106添加协议前导码、地址和消息完整性检查。例如,远程设备106可以基于现场设备102支持HART协议(例如,基于所存储的现场设备102的协议地址)来添加HART协议前导码、HART协议地址和HART协议消息完整性检查。
在框1914处,示例远程设备106将完整的协议消息传递到远程设备应用。例如,远程设备106可以将从现场设备102获得的数据分组随同添加的协议信息传递到在远程设备106上执行的应用(例如,软件程序)。在这样的示例中,应用可以将添加了协议信息的数据分组解读为经由典型的工业通信协议(与经由BLE无线电装置相比)从现场设备102接收的典型协议分组。响应于将完整的协议消息传递到远程设备应用,示例性方法1900结束。
图20是能够执行用于实现图13-17的方法以实现图1-4的BLE桥接器104的示例性处理器平台2000的框图。处理器平台2000可以是例如现场设备控制器、控制器、阀定位器或任何其它类型的计算设备。
所示示例的处理器平台2000包括处理器2012。所示示例的处理器2012是硬件。例如,处理器2012可以由来自任何期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。硬件处理器可以是基于半导体的(例如,基于硅的)设备。在该示例中,处理器2012实现示例性平台管理器320、示例性命令处理器322、示例性协议处置器324、示例性功率管理器326、示例性RX/TX接口处置器328、示例性BLE堆栈处置器330。
所示示例的处理器2012包括本地存储器2013(例如,高速缓存)。所示示例的处理器2012经由总线2018与包括易失性存储器2014和非易失性存储器2016的主存储器通信。易失性存储器2014可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备实现。非易失性存储器2016可以由闪存和/或任何其它期望类型的存储器设备实现。对主存储器2014、2016的访问由存储器控制器控制。
所示示例的处理器平台2000还包括接口电路2020。接口电路2020可以通过任何类型的接口标准实现,接口标准为例如以太网接口、通用串行总线(USB)、BLE无线电接口、UART接口、GPIO接口和/或外围组件互连(PCI)快速接口。示例性接口电路2020实现示例性接收机发射机接口300、示例性输入/输出接口310和示例性BLE接口340。
在所示示例中,一个或多个输入设备2022连接到接口电路2020。(一个或多个)输入设备2022允许用户将数据和/或命令输入到处理器2012中。(一个或多个)输入设备可以由例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点设备和/或语音识别系统实现。
一个或多个输出设备2024也连接到所示示例的接口电路2020。输出设备2024可以例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、打印机和/或扬声器)实现。因此,所示示例的接口电路2020通常包括图形驱动卡、图形驱动芯片和/或图形驱动处理器。
所示示例的接口电路2020还包括通信设备,诸如发射机、接收机、收发机、调制解调器和/或网络接口卡,用于促成经由网络2026(例如,以太网连接、数字订户线(DSL)、电话线、同轴电缆、蜂窝电话系统、蓝牙网络、BLE网络等)与外部机器(例如,任何种类的计算设备)交换数据。
所示示例的处理器平台2000还包括用于存储软件和/或数据的一个或多个大容量存储设备2028。这种大容量存储设备2028的示例包括软盘驱动器、硬盘驱动器、压缩盘驱动器、蓝光盘驱动器、独立盘冗余阵列(RAID)系统和DVD驱动器。示例性大容量存储设备2028实现数据库355。
用于实现图13-17的方法的经编码的指令2032可以存储在大容量存储设备2028中、存储在易失性存储器2014中、存储在非易失性存储器2016中和/或存储在可移动的非暂时性计算机可读存储介质(例如CD或DVD)上。
图21是能够执行用于实现图19的方法的指令以实现图1的远程设备106、图2的远程设备1-3 200、202、204和/或图3的远程设备360的示例性处理器平台2100的框图。处理器平台2100可以是例如个人计算机、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM的平板设备)、个人数字助理(PDA)或任何其它类型的计算设备。
所示示例的处理器平台2100包括处理器2112。所示示例的处理器2112是硬件。例如,处理器2112可以由来自任何期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。硬件处理器可以是基于半导体的(例如,基于硅的)设备。
所示示例的处理器2112包括本地存储器2113(例如,高速缓存)。所示示例的处理器2112经由总线2121与包括易失性存储器2114和非易失性存储器2116的主存储器通信。易失性存储器2114可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备实现。非易失性存储器2116可以由闪存和/或任何其它期望类型的存储器设备实现。对主存储器2114,2116的访问由存储器控制器控制。
所示示例的处理器平台2100还包括接口电路2120。接口电路2120可以由任何类型的接口标准实现,例如以太网接口、通用串行总线(USB)、BLE无线电接口、UART接口、GPIO接口和/或外围组件互连(PCI)快速接口。
在所示示例中,一个或多个输入设备2122连接到接口电路2120。(一个或多个)输入设备2122允许用户将数据和/或命令输入到处理器2112中。(一个或多个)输入设备可以由例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点设备和/或语音识别系统实现。
一个或多个输出设备2124也连接到所示示例的接口电路2120。输出设备2124可以例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、打印机和/或扬声器)实现。因此,所示示例的接口电路2120通常包括图形驱动卡、图形驱动芯片和/或图形驱动处理器。
所示示例的接口电路2120还包括通信设备,诸如发射机、接收机、收发机、调制解调器和/或网络接口卡,用于促成经由网络2126(例如,以太网连接、数字订户线(DSL)、电话线、同轴电缆、蜂窝电话系统、蓝牙网络、BLE网络等)与外部机器(例如,任何种类的计算设备)交换数据。
所示示例的处理器平台2100还包括用于存储软件和/或数据的一个或多个大容量存储设备2128。这种大容量存储设备2128的示例包括软盘驱动器、硬盘驱动器、压缩盘驱动器、蓝光盘驱动器、独立盘冗余阵列(RAID)系统和DVD驱动器。
用于实现图19的方法的经编码的指令2132可以存储在大容量存储设备2128中、存储在易失性存储器2114中、存储在非易失性存储器2116中和/或存储在可移动的非暂时性计算机可读存储介质(例如CD或DVD)上。
从前述内容将理解,已经公开了使用诸如BLE收发机之类的低功率设备来桥接设备之间的通信的示例性方法、装置和制品。所公开的网络桥接器使得示例性远程设备能够与现场设备形成对等连接以校准或配置现场设备和/或更一般地与现场设备对接。示例性BLE桥接装置基于数据流动的方向执行通信操作。响应于从现场设备MCU获得数据分组,BLE桥接装置从获得的数据分组中移除协议信息,并经由BLE将经处理的数据分组传送到远程设备。响应于从远程设备获得数据分组,BLE桥接装置基于现场设备的支持的协议来生成协议分组。通过在提交数据分组之前从数据分组中移除协议信息,现场设备可以以降低的功率预算传送和/或接收更多数据。
虽然本文已经公开了某些示例性方法、装置和制品,但是本专利的覆盖范围不限于此。相反,该专利涵盖了完全落入本专利的权利要求的范围内的所有方法、装置和制品。
Claims (20)
1.一种装置,包括:
现场设备,其包括网络桥接器,所述网络桥接器用于将在所述网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
2.根据权利要求1所述的装置,其特征在于,还包括:
平台管理器,其用于基于评估协议命令、对应于所述协议命令的数据长度、或所述第一数据中所包括的参数值的范围中的至少一个来确定所述第一数据是否被正确地形成。
3.根据权利要求2所述的装置,其特征在于,所述平台管理器基于确定所述第一数据未被正确地形成而拒绝所述第一数据。
4.根据权利要求1所述的装置,其特征在于,所述第一数据包括基于来自所述现场设备的操作员的要求的可扩展的灵活数据结构。
5.根据权利要求1所述的装置,其特征在于,所述现场设备响应于转换所述第二数据而生成根据所述工业通信协议来格式化的第三数据,并将所述第三数据发送到所述网络桥接器以将所述第三数据转换为根据所述BLE通信协议来格式化的第四数据。
6.根据权利要求5所述的装置,其特征在于,所述网络桥接器用于通过所述BLE网络将所述第四数据从所述网络桥接器的所述第一BLE无线电装置发送到所述远程设备的所述第二BLE无线电装置。
7.根据权利要求1所述的装置,其特征在于,所述工业通信协议是以下中的一个:高速可寻址远程换能器(HART)通信协议、PROFIBUS通信协议、FOUNDATION现场总线通信协议、或MODBUS通信协议。
8.根据权利要求1所述的装置,其特征在于,所述远程设备是以下中的一个:服务器计算机、台式计算机、膝上型计算机、平板设备、智能电话、或个人数字助理。
9.一种方法,包括:
经由现场设备的网络桥接器通过执行一个或多个机器可读指令将在所述网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
10.根据权利要求9所述的方法,其特征在于,还包括:
基于评估协议命令、对应于所述协议命令的数据长度、或所述第一数据中所包括的参数值的范围中的至少一个来确定所述第一数据是否被正确地形成。
11.根据权利要求10所述的方法,其特征在于,还包括:
基于确定所述第一数据未被正确地形成而拒绝所述第一数据。
12.根据权利要求9所述的方法,其特征在于,所述第一数据包括基于来自所述现场设备的操作员的要求的可扩展的灵活数据结构。
13.根据权利要求9所述的方法,其特征在于,还包括:
响应于转换所述第二数据,生成根据所述工业通信协议来格式化的第三数据并将所述第三数据发送到所述网络桥接器以将所述第三数据转换为根据所述BLE通信协议来格式化的第四数据。
14.根据权利要求13所述的方法,其特征在于,所述网络桥接器用于通过所述BLE网络将所述第四数据从所述网络桥接器的所述第一BLE无线电装置发送到所述远程设备的所述第二BLE无线电装置。
15.一种非暂时性机器可读存储介质,包括:
当被执行时使得现场设备的网络桥接器至少进行以下操作的指令:
将在所述网络桥接器的第一蓝牙低能量(BLE)无线电装置处通过BLE网络从远程设备的第二BLE无线电装置接收并根据BLE通信协议来格式化的第一数据转换为根据工业通信协议来格式化的第二数据。
16.根据权利要求15所述的非暂时性机器可读存储介质,其特征在于,还包括当被执行时使得所述网络桥接器至少进行以下操作的指令:
基于评估协议命令、对应于所述协议命令的数据长度、或所述第一数据中所包括的参数值的范围中的至少一个来确定所述第一数据是否被正确地形成。
17.根据权利要求16所述的非暂时性机器可读存储介质,其特征在于,还包括当被执行时使得所述网络桥接器至少进行以下操作的指令:
基于确定所述第一数据未被正确地形成而拒绝所述第一数据。
18.根据权利要求15所述的非暂时性机器可读存储介质,其特征在于,所述第一数据包括基于来自所述现场设备的操作员的要求的可扩展的灵活数据结构。
19.根据权利要求15所述的非暂时性机器可读存储介质,其特征在于,还包括当被执行时使得所述网络桥接器至少进行以下操作的指令:
响应于转换所述第二数据,生成根据所述工业通信协议来格式化的第三数据,并将所述第三数据发送到所述网络桥接器以将所述第三数据转换为根据所述BLE通信协议来格式化的第四数据。
20.根据权利要求19所述的非暂时性机器可读存储介质,其特征在于,所述网络桥接器用于通过所述BLE网络将所述第四数据从所述网络桥接器的所述第一BLE无线电装置发送到所述远程设备的所述第二BLE无线电装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762567051P | 2017-10-02 | 2017-10-02 | |
US62/567,051 | 2017-10-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600356A true CN109600356A (zh) | 2019-04-09 |
CN109600356B CN109600356B (zh) | 2023-10-17 |
Family
ID=63963459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811168911.XA Active CN109600356B (zh) | 2017-10-02 | 2018-10-08 | 使用低能量设备来桥接设备之间的通信的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10855367B2 (zh) |
EP (1) | EP3692730A1 (zh) |
CN (1) | CN109600356B (zh) |
CA (1) | CA3077498A1 (zh) |
RU (1) | RU2020115007A (zh) |
WO (1) | WO2019070534A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10949365B2 (en) * | 2016-09-05 | 2021-03-16 | IOT.nxt BV | Software-defined device interface system and method |
US11132323B2 (en) | 2017-06-20 | 2021-09-28 | Intel Corporation | System, apparatus and method for extended communication modes for a multi-drop interconnect |
US10855367B2 (en) | 2017-10-02 | 2020-12-01 | Fisher Controls International Llc | Methods and apparatus to bridge communications between devices using low-energy devices |
US11115927B2 (en) | 2017-10-02 | 2021-09-07 | Fisher Controls International Llc | Methods and apparatus to control communication data rates of low-energy devices |
DE102018206785A1 (de) * | 2018-05-03 | 2019-11-07 | Audi Ag | Datenübertragung mittels des Bluetooth Low Energy (BLE)-Standards |
TWI699656B (zh) * | 2018-12-27 | 2020-07-21 | 新唐科技股份有限公司 | 可切換的i2s介面 |
US10952280B2 (en) * | 2019-03-28 | 2021-03-16 | Intel Corporation | Apparatus, system and method of communicating voice traffic over a bluetooth link |
DE102019111247A1 (de) * | 2019-04-30 | 2020-11-05 | Bayerische Motoren Werke Aktiengesellschaft | Vorrichtung zur Kommunikation mit einer weiteren Vorrichtung |
US11379398B2 (en) * | 2019-06-04 | 2022-07-05 | Microchip Technology Incorporated | Virtual ports for connecting core independent peripherals |
US11206696B2 (en) | 2019-09-19 | 2021-12-21 | Rosemount Inc. | Unidirectional field device data transfer |
DE102020108075B3 (de) | 2020-03-24 | 2021-09-23 | Samson Aktiengesellschaft | Adapter für drahtlose Datenübertragung |
US11729272B2 (en) * | 2020-09-25 | 2023-08-15 | Texas Instruments Incorporated | Hart-enabled device with reduced communication lines and break extension protocol |
US11650655B2 (en) * | 2021-03-30 | 2023-05-16 | Rosemount Inc. | Power management for loop-powered field devices with low power wireless communication |
CN113939001B (zh) * | 2021-12-13 | 2022-04-19 | 泰克曼(南京)电子有限公司 | 一种mcu和ble芯片间超低功耗通信方法 |
CN114531476B (zh) * | 2021-12-30 | 2023-10-20 | 爱普(福建)科技有限公司 | 一种工业协议解析和数据转换的方法和系统 |
IT202200005816A1 (it) * | 2022-03-24 | 2023-09-24 | Campagnolo Srl | Metodi di comunicazione in un sistema elettronico di bicicletta |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100190442A1 (en) * | 2009-01-29 | 2010-07-29 | Citrano Iii Joseph | Wireless field maintenance adapter |
CN103051426A (zh) * | 2013-01-22 | 2013-04-17 | 中兴通讯股份有限公司 | 一种数据或信令的发送方法及装置 |
CN106164790A (zh) * | 2014-03-28 | 2016-11-23 | 罗斯蒙特公司 | 具有环路供电的无线收发机的过程变量变送器 |
US20170064045A1 (en) * | 2015-08-31 | 2017-03-02 | Ayla Networks, Inc. | Management of multi-radio gateway device using virtual gateway device |
CN106664226A (zh) * | 2014-05-30 | 2017-05-10 | 苹果公司 | 用于附件管理系统的控制器网络 |
CN107027193A (zh) * | 2016-02-02 | 2017-08-08 | 北京众思铭信息技术有限公司 | 一种数据交互装置以及具有该装置的电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870685A (en) | 1996-09-04 | 1999-02-09 | Ericsson Inc. | Mobile station operations management based on battery capacity |
US6434157B1 (en) * | 1998-10-06 | 2002-08-13 | Schneider Automation, Inc. | MODBUS plus ethernet bridge |
US7027843B2 (en) | 2002-03-21 | 2006-04-11 | Lenovo (Singapore) Pte. Ltd. | Wireless device power optimization |
US8271620B2 (en) * | 2003-11-13 | 2012-09-18 | Lantronix, Inc. | Communication protocol converter and method of protocol conversion |
US8214532B2 (en) * | 2004-04-27 | 2012-07-03 | Rockwell Automation Technologies, Inc. | Communication protocol bridge and controller method and system |
US9374787B2 (en) | 2011-02-10 | 2016-06-21 | Alcatel Lucent | Method and apparatus of smart power management for mobile communication terminals using power thresholds |
US9690638B2 (en) * | 2011-09-29 | 2017-06-27 | Oracle International Corporation | System and method for supporting a complex message header in a transactional middleware machine environment |
US20130122804A1 (en) | 2011-11-14 | 2013-05-16 | Siva G. Narendra | Mobile device power management |
BR112016021126B1 (pt) * | 2014-03-14 | 2022-08-23 | Teledyne Detcon, Inc. | Módulo conversor de protocolo e método para bidirecionalmente trocar dados com um conjunto detector de gás e um dispositivo externo |
DE102014106727A1 (de) | 2014-05-13 | 2015-11-19 | Endress + Hauser Conducta Gesellschaft für Mess- und Regeltechnik mbH + Co. KG | Verfahren zum Senden/Empfangen einer Nachricht mittels einer verschlüsselten drahtlosen Verbindung |
WO2016073215A1 (en) | 2014-11-05 | 2016-05-12 | Beco, Inc. | System and methods for light enabled indoor positioning and reporting |
US9915988B2 (en) | 2015-09-22 | 2018-03-13 | Sandisk Technologies Llc | Data storage device for a device accessory |
US20170180152A1 (en) * | 2015-12-22 | 2017-06-22 | BASF Agro B.V. | Multi-mode controller area network-bluetooth network bridge |
US10237712B2 (en) | 2016-06-08 | 2019-03-19 | Honeywell International Inc. | In-field wireless access to smart instruments using Bluetooth low energy |
US10855367B2 (en) | 2017-10-02 | 2020-12-01 | Fisher Controls International Llc | Methods and apparatus to bridge communications between devices using low-energy devices |
US11115927B2 (en) | 2017-10-02 | 2021-09-07 | Fisher Controls International Llc | Methods and apparatus to control communication data rates of low-energy devices |
-
2018
- 2018-09-27 US US16/144,748 patent/US10855367B2/en active Active
- 2018-09-28 RU RU2020115007A patent/RU2020115007A/ru unknown
- 2018-09-28 WO PCT/US2018/053497 patent/WO2019070534A1/en unknown
- 2018-09-28 CA CA3077498A patent/CA3077498A1/en active Pending
- 2018-09-28 EP EP18792663.9A patent/EP3692730A1/en active Pending
- 2018-10-08 CN CN201811168911.XA patent/CN109600356B/zh active Active
-
2020
- 2020-11-25 US US17/105,021 patent/US11750281B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100190442A1 (en) * | 2009-01-29 | 2010-07-29 | Citrano Iii Joseph | Wireless field maintenance adapter |
CN103051426A (zh) * | 2013-01-22 | 2013-04-17 | 中兴通讯股份有限公司 | 一种数据或信令的发送方法及装置 |
CN106164790A (zh) * | 2014-03-28 | 2016-11-23 | 罗斯蒙特公司 | 具有环路供电的无线收发机的过程变量变送器 |
CN106664226A (zh) * | 2014-05-30 | 2017-05-10 | 苹果公司 | 用于附件管理系统的控制器网络 |
US20170064045A1 (en) * | 2015-08-31 | 2017-03-02 | Ayla Networks, Inc. | Management of multi-radio gateway device using virtual gateway device |
CN107027193A (zh) * | 2016-02-02 | 2017-08-08 | 北京众思铭信息技术有限公司 | 一种数据交互装置以及具有该装置的电子设备 |
Also Published As
Publication number | Publication date |
---|---|
RU2020115007A (ru) | 2021-11-08 |
US11750281B2 (en) | 2023-09-05 |
CA3077498A1 (en) | 2019-04-11 |
US20190103914A1 (en) | 2019-04-04 |
CN109600356B (zh) | 2023-10-17 |
EP3692730A1 (en) | 2020-08-12 |
RU2020115007A3 (zh) | 2022-02-04 |
US20210083764A1 (en) | 2021-03-18 |
WO2019070534A1 (en) | 2019-04-11 |
US10855367B2 (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600356A (zh) | 使用低能量设备来桥接设备之间的通信的方法和装置 | |
US11115927B2 (en) | Methods and apparatus to control communication data rates of low-energy devices | |
Fitz et al. | A metamodel for cyber-physical systems | |
RU2666495C2 (ru) | Передатчик технологического параметра с беспроводным приемопередатчиком с питанием от контура | |
EP3235185B1 (en) | Data transfer on an industrial process network | |
US9137664B2 (en) | Application logging interface for a mobile device | |
CN103688244B (zh) | 用于为分布式计算提供端到端隐私的方法和装置 | |
CN1838579B (zh) | 用于缓和无线联网中的干扰问题的可扩展框架 | |
US20150156286A1 (en) | Message tunneling in an industrial network | |
US20150134954A1 (en) | Sensor management system in an iot network | |
CN100596362C (zh) | 通信装置和命令发送方法 | |
CN104917743A (zh) | 用于工业过程网络的通信单元 | |
CN104754062B (zh) | 基于互联网的信息推广方法、服务器及用户终端 | |
CN106792454A (zh) | 蓝牙通信方法、通信装置、通信系统及电子设备 | |
CN107888488A (zh) | 智能网关及其方法 | |
CN104303455B (zh) | 社交媒体客户端设备及其方法和介质 | |
CN109788461A (zh) | 蓝牙双模数据通信方法及装置 | |
US11537088B2 (en) | Methods and apparatus to implement safety applications associated with process control systems | |
CN106161165A (zh) | 用于工业过程网络的快速数据传送通信协议 | |
US8891499B2 (en) | Computer radio with pre-defined configuration set | |
CN103152370A (zh) | 一种物联网业务网关系统及应用方法 | |
CN107885979A (zh) | 一种软件免费试用的方法、装置、试用设备及存储介质 | |
EP4097882B1 (en) | Serial command protocol encapsulating wire transfer protocol | |
KR102297854B1 (ko) | 다양한 장치에 적용하는 IoT 모듈을 위한 운영관리 서버 | |
KR101122418B1 (ko) | 텍스트 파일을 이용한 프로토콜 인터페이스 장치와 시스템 그리고 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |