CN116909948A - 使用虚拟外围装置的系统设置 - Google Patents

使用虚拟外围装置的系统设置 Download PDF

Info

Publication number
CN116909948A
CN116909948A CN202310402809.6A CN202310402809A CN116909948A CN 116909948 A CN116909948 A CN 116909948A CN 202310402809 A CN202310402809 A CN 202310402809A CN 116909948 A CN116909948 A CN 116909948A
Authority
CN
China
Prior art keywords
peripheral devices
virtual peripheral
control modules
enabled virtual
terminal
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.)
Pending
Application number
CN202310402809.6A
Other languages
English (en)
Inventor
帕维尔·V·泰西亚查克
阿德里亚娜·F·米克奥尔斯
尼古拉斯·托马斯·弗里茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Graco Minnesota Inc
Original Assignee
Graco Minnesota Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Graco Minnesota Inc filed Critical Graco Minnesota Inc
Publication of CN116909948A publication Critical patent/CN116909948A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)

Abstract

一种设置系统的方法,该方法包括:定义一个或更多个虚拟外围装置,以使得虚拟外围装置中的每一个对应于相应的设备;识别一个或更多个启用的虚拟外围装置;以及识别一个或更多个控制模块。控制模块中的每一个均包括用于连接到一个或更多个设备的一个或更多个端子。所述方法还包括:将启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子以形成链接;生成设置配置,所述设置配置表示所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个之间的链接;以及将所述设置配置写入所述控制模块中的每一个。所述方法还包括:与相应的端子和启用的虚拟外围装置中所述对应的一个之间的链接一致地将相应的设备连接到相应的端子。

Description

使用虚拟外围装置的系统设置
背景技术
诸如工业涂覆工艺、工业精加工工艺或其他工业工艺的工业工艺经常包括多个传感器、致动器和其他互连以交换信息的设备,以使工艺的一个或多个部分自动化。例如,某些工业涂覆工艺包括相互连接的传感器和其他设备以监测和控制工艺参数,诸如流体压力、流量、容器液位、搅拌器速度以及与涂覆工艺相关联的其他参数。工艺参数的自动监测和控制既可以提高工艺的效率,又可以减少系统停机时间。
某些工业工艺(诸如涂覆工艺和精加工工艺)可能涉及烟雾或其他可燃性物质。这样,在此类工艺中的部件的本质安全经常是限制可用于点火的电能和热能的重要考虑因素。同时,随着工业工艺的连接和监测的复杂性增加,此类系统所使用的通信带宽也会增加。因此,本质安全和通信带宽都是用于监测和控制工业工艺参数的通信系统的重要方面。
此外,用于工业工艺的工艺参数的自动监测和控制可能涉及将工业设备连接到对应的控制器硬件。通常,用于与此类设备通信的控制器硬件与系统内的设备也是以物理的方式分开的,并且设备、控制器硬件或上述两者都可能暴露于烟雾或可燃性物质中。随着时间的推移,任何工业设备或控制器硬件都可能发生变化,这反过来会影响任何当前连接的设备和控制器硬件的设定。
发明内容
在一个示例中,一种设置系统的方法,包括:定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;基于过程配置识别一个或更多个启用的虚拟外围装置;以及经由通信总线识别连接在所述系统的控制系统中的一个或更多个控制模块,所述控制模块中的每一个均包括用于连接到一个或更多个设备的一个或更多个端子。所述方法还包括:经由所述控制系统的主控制器将启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;生成设置配置,所述设置配置针对所述启用的虚拟外围装置中的每一个表示在所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;经由所述通信总线将所述设置配置写入所述控制模块中的每一个。所述方法还包括:针对所述启用的虚拟外围装置中的每一个,与在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接一致地将所述相应的设备连接到所述相应的端子。
在另一个示例中,一种系统,包括:一个或更多个设备;以及控制系统,所述控制系统包括:主控制器;以及一个或更多个控制模块,所述一个或更多个控制模块和主控制器一起布置在通信总线中。主控制器被配置为:定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;基于所述系统的配置识别一个或更多个启用的虚拟外围装置;经由所述通信总线识别连接在所述控制系统中的所述一个或更多个控制模块,所述控制模块中的每一个均包括用于连接到所述一个或更多个设备的一个或更多个端子。所述主控制器进一步被配置为:将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;生成设置配置,所述设置配置针对所述启用的虚拟外围装置中的每一个表示在所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;以及经由所述通信总线将所述设置配置写入所述控制模块中的每一个。针对所述启用的虚拟外围装置中的每一个,与在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的所述链接一致地将所述相应的设备连接到所述相应的端子。
附图说明
图1是用于与工业工艺一起使用的示例性通信系统的示意性框图。
图2是示出用于接收和发送下行通信的收发器的更多细节的示意性框图。
图3是示出用于接收和发送上行通信的收发器的更多细节的示意性框图。
图4A至图4E是示出与通信系统一起使用的示例性模块识别过程的示意性框图。
图5是示出设备与包括图1的通信系统的控制系统之间的连接的示例性系统的示意性框图。
图6是示出对应于系统的设置过程的控制系统的细节的示意性框图。
具体实施方式
根据本公开的技术,用于工业工艺(例如,涂覆工艺、精加工工艺或其他工业工艺)的通信系统能够在主令控制器设备和多个从属模块之间实现大数据包的高速通信。所述多个从属模块可以是(和/或连接到)工业工艺的部件,例如压力换能器、泵、致动器、阀、马达、流体体积传感器、温度传感器或工业工艺的其他部件。主令控制器和从属模块以菊花链的形式从主令控制器设备串联连接到从属模块的串联最后模块,该串联最后模块在模块识别过程中(例如,在系统初始化或启动时)由主令控制器识别并且被配置为端子从属模块。低压通信连接(例如串行通信、光通信或其他低压通信连接中的一种或更多种)可以用于促进系统的本质安全,例如用于与可能涉及可燃性烟雾的工业工艺(例如,涂覆工艺、精加工工艺或其他此类工艺)。
源自主令控制器设备的消息沿下行方向从主令控制器通过所述多个从属模块中的每一个到达端子从属模块。为了增加数据吞吐量,以例如每毫秒一个数据包的速率从主令控制器发送大数据包(例如,300字节、500字节或其他大小的数据包)。主令控制器根据限定消息的有序的序列的通信时间表来发送下行消息。在一些示例中,从属模块中的每一个存储通信时间表并且利用该时间表来识别(和预测)接收到的消息,从而减少每条消息的标题信息的量以及与其相关联的处理延迟,并且增加系统的通信带宽。
源自主令控制器的消息在消息向下游传送时被从属模块中的每一个接收。从属模块中的每一个识别该消息是否与相应的从属模块相关联,解析消息中包括的加载信息并根据该信息采取动作,并且准备待包含于通向主令控制器的上行消息中的响应信息。响应于接收到消息,端子从属模块产生具有消息识别符的新消息(例如,包括消息的时间表标识的标题信息)并且将该消息作为响应通过所述多个从属模块向上游发送到主令控制器。当返回消息向上游传送时,从属模块中的每一个接收返回消息,并且将响应信息插入与相应的从属模块相关联的那些消息中。
因此,实施本文描述的技术的通信系统能够在主令控制器设备和所述多个从属模块之间进行大数据包的高速通信。可以由主令控制器和从属模块中的每一个存储的通信时间表的使用,使得消息能够被定向到(例如,关联到)多个从属模块,而不需要与待包含于标题信息中的每条消息相关联的每个从属模块的识别信息。此外,通信时间表的使用可以使得从属模块能够有效地识别并且在某些示例中预测消息,从而使得从属模块能够快速响应,以减少系统的处理等待时间。
根据本公开的技术,诸如螺线管、流量计等工业部件被抽象并定义为在集成开发环境(IDE)中的虚拟外围装置,该IDE在用于能够执行工业工艺(例如,涂覆工艺、精加工工艺或其他工业工艺)的系统的控制系统中运行。抽象的设备被定义于IDE中,这允许与设备交互所需的所有都针对特定应用(例如,特定工业工艺)进行预定义。然后,在用于初始化该系统的设置过程中,将虚拟外围装置映射到控制器硬件(例如,可编程逻辑控制器(PLC)的输入/输出(I/O)模块)。本文描述的设置过程在兼容的虚拟外围装置和控制模块的相应的端子之间实施适当的映射。设置过程利用串联连接的主令控制器和从属模块之间的通信系统来接收关于控制模块的信息,并且将设置配置传送到控制模块中的每一个。
因为设置过程是基于与工业设备的预定义交互的,所以可以轻松地跨项目重复使用这些设备。此外,控制器硬件在应用软件设计中基本上是不可见的,因此用于工业系统的软件可以无需精确地考虑设备是如何连接到控制器硬件而进行设计。这使得实现本公开的技术的工业系统能够对于不同类型的用户(例如,研发人员和技术人员)是用户友好的,并且相对于系统扩展或对设备和/或控制器硬件的其他改变而言相对灵活。
图1是可以与工业工艺(例如涂覆工艺、精加工工艺或其他工业工艺)一起使用的通信系统10的示意性框图。如图1所示,通信系统10包括主令控制器12和从属模块14A-14N。主令控制器12包括下行发射器16和上行接收器18,尽管在一些示例中,发射器16和接收器18可以组合成单个收发器。如图1所示,主令控制器12进一步存储通信时间表20,例如存储在主令控制器12的计算机可读存储器内。在一些示例(诸如图1的示例)中,从属模块14A-14N中的每一个也可以存储通信时间表20,例如存储在从属模块14A-14N的计算机可读存储器中。
从属模块14A-14N中的每一个均包括下行收发器和上行收发器。即,如图1所示,从属模块14A包括下行收发器22D和上行收发器22U。从属模块14B包括下行收发器24D和上行收发器24U。从属模块14N包括下行收发器26D和上行收发器26U。应该理解,虽然在图1的示例中示出了下行收发器和上行收发器作为单独的部件,但是这样的下行收发器和上行收发器可以在包括下行收发器和上行收发器两者的公共通信总线中实施。例如,从属模块14A的下行收发器22D和上行收发器22U可以实施为公共通信总线的一部分,该公共通信总线共享例如(多个)微处理器和/或计算机可读存储器以用于发送下行通信和上行通信。类似地,从属模块14B-14N中的任一个均可以使用公共通信总线来实施相应的下行收发器和上行收发器。此外,应该理解,关于从属模块14A-14N的字母N表示任意数量,以使得通信系统10可以包括任意数量的从属模块14A-14N。
尽管出于清楚和易于说明的目的而没有在图1的示例中示出,但是主令控制器12和从属模块14A-14N中的每一个均包括一个或更多个处理器和计算机可读存储器。所述一个或更多个处理器的示例可以包括微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的分离的或集成的逻辑电路中的任何一个或更多个。
主令控制器12和从属模块14A-14N的计算机可读存储器可以被配置为在操作期间存储主令控制器12和从属模块14A-14N内的信息。在一些示例中,计算机可读存储器可以被描述为计算机可读存储介质。在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质不体现在载波或传播的信号中。在某些示例中,非暂时性存储介质可以存储可以随时间变化的数据(例如,存储在RAM或高速缓存器中)。主令控制器12和从属模块14A-14N的计算机可读存储器可以包括易失性和非易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和其他形式的易失性存储器。非易失性存储器的示例可以包括磁性硬盘、光盘、闪速存储器或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
主令控制器12可以是被配置为与通信系统10的部件(例如从属模块14A-14N)通信连接的控制器设备,以用于在工业工艺的操作期间监测和控制部件。在一些示例中,主令控制器12包括和/或可操作地连接到显示设备和/或用户接口元件(例如,按钮、表盘、呈现在触敏显示器处的图形控制元件,或其他用户接口元件)以启用用户与主令控制器12的交互,例如用于系统的初始化、监测和/或控制。尽管没有在图1的示例中示出,但是在某些示例中,主令控制器12例如经由有线或无线通信网络或它们两者而通信地连接到一个或更多个远程计算设备。从属模块14A-14N可以是(和/或连接到)工业工艺的部件,例如压力换能器、泵、致动器、阀、马达、流体体积传感器、温度传感器或工业工艺的其他部件。
如图1所示,主令控制器12和从属模块14A-14N在主令控制器12和从属模块14N之间串联电连接和/或通信连接。从属模块14A被连接以接收来自主令控制器12的下行通信,并且经由下行收发器22D将下行通信发送到从属模块14B。从属模块14A还被连接以接收来自从属模块14B的上行通信,并且经由上行收发器22U将上行通信发送到主令控制器12。从属模块14B被连接以接收来自从属模块14A的下行通信,并且经由下行收发器24D在下行方向(例如,通向或朝向从属模块14N)发送通信。从属模块14B还被连接以接收来自从属模块14N(或在来自从属模块14N的方向上)的上行通信,并且经由上行收发器24U将上行通信传送到从属模块14A。从属模块14N被连接以经由下行收发器26D接收来自从属模块14B(或在来自从属模块14B的方向上)的下行通信。从属模块14N还被连接以经由上行收发器26U将上行通信发送到从属模块14B(或在朝向从属模块14B的方向上将上行通信发送到从属模块14B)。
因此,连接到主令控制器12的从属模块14A可以被认为是初始从属模块。位于这一系列从属模块的端子的从属模块14N可以被认为是端子从属模块。连接在初始从属模块14A和端子从属模块14N之间的从属模块14B可以被认为是中间从属模块。在一些示例中,例如当通信系统10包括连接在从属模块14B和从属模块14N之间的附加从属模块时,该附加从属模块也可以被认为是中间从属模块。在某些示例中,通信系统10可以不包括从属模块14B或连接在从属模块14A(例如,初始从属模块)和从属模块14N(例如,端子从属模块)之间的其他中间从属模块。即,在一些示例中,通信系统10可以包括主令控制器12和仅两个从属模块,例如从属模块14A(例如,初始从属模块)和从属模块14N(例如,端子从属模块)。
主令控制器12和从属模块14A-14N之间(即,主令控制器12和从属模块14A之间,以及从属模块14A和14N中的每一个之间)的连接可以采用串行通信连接(例如,RS-232、RS-485、串行外设接口(SPI)或其他串行通信连接)、光接口连接或其他通信形式的形式。在一些示例中,诸如串行接口通信和光接口通信的低压通信接口的使用可以促进通信系统10的本质安全,以在存在例如烟雾或其他危险物质的情况下限制电能和/或热能。在某些示例中,通信连接可以包括连接类型的组合,例如串行通信和光通信(例如,用于危险和非危险位置之间的通信)两者。因此,主令控制器12的收发器16和接收器18以及从属模块14A-14N的收发器22D、22U、24D、24U、26D和26U可以采用能够根据对应的模块之间的通信连接发送和接收数据的任何收发器的形式(或发射器和接收器的其他组合)。
在操作中,主令控制器12经由发射器16沿下行方向通过初始从属模块14A向端子从属模块14N发送消息。在通信系统10包括连接在初始从属模块14A和端子从属模块14N之间的中间从属模块(例如,中间从属模块14B或其他中间从属模块)的示例中,主令控制器12通过初始从属模块14A在下行方向上通过中间从属模块向端子从属模块14N发送消息。在通信系统10不包括连接在初始从属模块14A和端子从属模块14N之间的中间从属模块的示例中,主令控制器12经由发送器16在下行方向上通过初始从属模块14A向端子从属模块14N发送消息,而不通过任何中间从属模块传送(pass)消息。主令控制器12根据存储在例如主令控制器12的计算机可读存储器中的通信时间表20发送消息。通信时间表20定义消息的有序序列以及与消息中的每一个相关联的识别符。通信时间表20可以定义例如数十、数百、数千或其他数量的消息的有序序列。每条消息均可以与从属模块14A-14N中的一个或更多个相关联。
由通信时间表20定义的消息可以包括标题信息和消息加载信息两者。标题信息可以包括例如定义消息类型的消息类别识别符。示例性消息类型可以包括但不限于紧急类类型、模块识别类类型、模块配置类类型、模块时间表类类型、命令类类型、状态类类型和引导加载程序类类型。消息类别识别符可以采用例如位的序列(例如,四位)或其他识别符的形式。在一些示例中,标题信息还可以包括标题加载信息。例如,标题加载信息可以采用位的序列(或其他识别符)的形式来标识目的地模块,例如从属模块14A-14N中的任意从属模块的唯一识别符。在一些示例中,标题加载信息可以(例如,经由位序列)标识对应的消息的时间表识别符,例如在由通信时间表20定义的消息的有序序列中消息的序列号的指示。在某些示例中,标题加载信息可以包括附加信息,例如用于定义与消息相关联的附加信息的可选位。在某些示例中,消息标题包括信息的十六位、限定消息类类型的四位、以及限定标题加载信息的剩余的十二位,尽管其他标题大小也是可行的。在一些示例中,标题信息可以包括消息长度信息,该消息长度信息标识包括在消息中的数据的量(例如,位数、字节数或数据的量或长度的其他指示)。
消息加载信息包括与一个或更多个从属模块14A-14N相关联的命令和/或请求信息。消息加载信息可以包括例如控制致动器、阀、泵或连接到从属模块14A-14N的其他部件的操作的命令信息,和/或来自连接到从属模块14A-14N的部件的状态、位置或其他信息的请求。
消息加载信息可以包括与从属模块14A-14N中的任何一个或更多个相关联的信息。例如,消息加载信息可以包括300字节、400字节、500字节或加载信息的其他数量,该加载信息对应于从属模块14A-14N中的一个或多个。对应于从属模块14A-14N中的相关联的从属模块的每一个的信息在消息加载信息中的位置可以由通信时间表20定义。例如,通信时间表20可以为消息的有序序列中的每一个定义从属模块14A-14N中与相应的消息相关联的从属模块中的每一个,以及在对应于与相应的从属模块相关联的消息加载信息的消息内的位置(例如,从在消息内限定的位置(例如消息的开始、消息加载的开始、或其他限定的位置)开始的存储偏移值)。在一些示例中,通信时间表20还可以定义从属模块14A-14N中的与消息相关联的相应的一个的本地存储器地址、与对应于相应的从属模块的消息相关联的加载信息的大小(例如,与从属模块相关联的消息的部分的长度),以及上行消息中的存储偏移值,相应的从属模块将在该偏移值处将响应信息插入上行消息中。
如图1所示,从属模块14A-14N中的每一个均可以将通信时间表20存储在相应的从属模块的计算机可读存储器中。在一些示例中,主令控制器12可以将通信时间表20发送到从属模块14A-14N中的每一个,例如在操作的系统初始化模式期间。在某些示例中,主令控制器12可以基于在主令控制器12和端子从属模块14N之间的串联连接中的从属模块14A-14N的身份和相对位置来确定通信时间表20。例如,主令控制器12可以在模块识别过程中识别从属模块14A-14N中的每一个的身份和相对位置(例如,串联连接的顺序),如下文进一步描述的。
在操作中,当下行消息从主令控制器12传送到从属模块14N时,由主令控制器12发送的下行消息被从属模块14A-14N中的每一个接收。从属模块14A-14N中的每一个基于由主令控制器12包含于消息中的识别符来识别消息,例如在消息的标题信息中指示消息类类型作为命令消息和时间表识别符指示消息在由通信时间表20定义的消息的有序序列中的序号。
从属模块14A-14N中的每一个基于存储在相应的从属模块处的通信时间表20来确定该消息是否与相应的从属模块相关联。响应于确定相应的从属模块不与该消息相关联,相应的从属模块向下游发送消息。响应于确定相应的从属模块与该消息相关联,从属模块使用通信时间表20识别该消息内的位置(对应于从属模块的信息位于该位置处),从相应的位置检索信息,识别从属模块是否与响应信息相关联(以及从属模块在上行消息中插入响应信息的位置),并且向下游发送消息。在相应的从属模块与消息的响应信息相关联的那些情况下,从属模块开始对响应信息进行排队以插入对应的上行响应消息中,如下面进一步描述的。
在图1的示例中,从属模块14N被配置为端子从属模块(即,串联的最后一个从属模块)。这样,响应于接收到源自主令控制器12的下行消息,从属模块14N生成对应于接收到的下行消息的新响应消息。例如,从属模块14N可以生成具有标题信息的新响应消息,该标题信息将消息类别识别为响应(或状态)消息并且包括接收到的下行消息的时间表识别符。在一些示例中,从属模块14N可以将响应信息插入响应消息中(如通信时间表20所定义的),并且通过中间从属模块(在该示例中为从属模块14B)和初始从属模块(在该示例中为从属模块14A)将响应消息向上游发送到主令控制器12。在通信系统10不包括中间从属模块14B(或其他中间从属模块)的示例中,端子从属模块14N通过初始从属模块14A将响应消息在上行方向上发送到主令控制器12,而不通过任何中间从属模块传送消息。
上行响应消息在向上游传送到主令控制器12时由从属模块中的每一个接收。每个相应的从属模块基于包括在消息中的识别符(例如包括在标题信息中的时间表识别符)来识别消息。每个相应的从属模块将响应信息插入具有消息识别符的上行消息中,该消息识别符对应于先前接收到的与来自相应的从属模块的响应信息相关联的下行消息。响应信息在由存储在相应的从属模块的计算机可读存储器中的通信时间表20限定的位置插入上行消息中。
因此,通信系统10能够在主令控制器12和从属模块14A-14N之间进行大数据包(例如,在300字节和500字节之间)的高速通信。通信时间表20的使用使得下行消息能够包括比否则将每条消息寻址到多个从属模块所需要的更少的标题信息,从而减少系统的处理等待时间并增加系统通信带宽。此外,包括单独的上行收发器和下行收发器的从属模块14A-14N,可以同步和异步地发送和接收信息,从而通过使从属模块14A-14N能够在接收对应的上行响应之前准备响应信息以插入上行通信中来进一步增加系统的通信带宽。
图2是示出从属模块14A(图1)的下行收发器22D以接收和发送下行通信的更多细节的示意性框图。尽管下文关于下行收发器22D描述了图2的示例,但是应该理解的是,图2的技术适用于下行收发器22D、24D和26D中的任何一个。
如图2所示,下行收发器22D包括接收缓冲器28、缓冲存储器30、发送缓冲器32、返回存储器34和处理器36。由下行收发器22D接收的下行通信数据被传送到接收缓冲器28。使用直接存储器存取(DMA)(在图2中示出为DMA1,例如第一DMA)将接收缓冲器28内的数据移动到缓冲存储器30。缓冲存储器30内的存储位置由DMA1自动递增,并且存储器的大小被设定为大于传入消息的限定大小(例如,300字节、500字节或消息的其他大小)的DMA块。当从接收缓冲器28到缓冲存储器30的存储器传输被启动时,事件被触发,例如,如处理器36所管理的那样。所触发的事件使字节计数器递增,并且第二DMA传输(在图2中示出为DMA2)将数据从缓冲存储器30移动到发送缓冲器32。缓冲存储器30内的数据向下游朝向端子从属模块14N发送(图1)。
字节计数器被配置为在接收到第一阈值字节数之后中断,第一阈值字节数对应于包括在下行通信的开始处的标题信息的定义大小(例如,一个字节、两个字节或其他整数或小数字节数)。在一些示例中,处理器36针对包括在标题信息中的固定长度校验值(例如,位序列)对所接收到的标题信息和加载信息执行循环冗余校验(CRC)。响应于确定校验值满足CRC,处理器36解析接收到的标题信息以识别消息的时间表识别符,该识别符指示消息在由通信时间表20(图1)定义的消息的有序序列内的顺序。响应于确定校验值不满足CRC,处理器36可以在没有进一步处理的情况下向下游发送所接收到的消息,或者可以避免处理消息和向下游发送消息。
处理器36基于包括在通信时间表20中的信息识别与从属模块14A相关联的消息内的信息的起始位置以及与从属模块14A相关联的消息内的数据的长度(或大小)。字节计数器被重新配置为在接收到与从属模块14A相关联的消息内的数据的长度(或大小)之后中断,并且在由从属模块14A处理的中断期间,在所接收到的消息内从起始位置到识别长度(或大小)的数据被移动到存储器中。
图3是示出从属模块14A(图1)的上行收发器22U以接收和发送上行通信的更多细节的示意性框图。尽管下面关于上行收发器22U描述了图3的示例,但是应该理解的是,图3的技术适用于上行收发器22U、24U和26U中的任何一个。
如图3所示,上行收发器22U包括接收缓冲器38、缓冲存储器40、CRC缓冲存储器41、发送缓冲器42和处理器44。在图3的示例中,上行收发器22U和下行收发器22D共享返回存储器34(例如,实施为公共通信总线的一部分),尽管在其他示例中,上行收发器22U可以包括单独的返回存储器,下行收发器22D的返回存储器内的信息由例如从属模块14A的处理器移动到单独的返回存储器。类似地,尽管上行收发器22U被示出为具有与下行收发器22D的处理器36(图2)分开的处理器44,但是在其他示例中,上行收发器22U和下行收发器22D可以共享公共处理器。
由上行收发器22U接收的上行数据被传送到接收缓冲器38。使用DMA(在图3中被示出为DMA1)将接收缓冲器38内的数据移动到缓冲存储器40。缓冲存储器38内的存储位置由DMA自动递增,并且存储器的大小被设定为大于传入消息的限定大小(例如,300字节、500字节或其他大小)的DMA块。当从接收缓冲器38到缓冲存储器40的存储器传输被启动时,事件被触发,例如,如处理器44所管理的那样。所触发的事件使字节计数器递增,并且第二DMA传输(图3中被示出为DMA2)将数据从缓冲存储器40移动到发送缓冲器42。缓冲存储器42内的数据向上游朝向主令控制器12发送(图1)。
字节计数器被配置为在接收到第一阈值字节数之后中断,第一阈值字节数对应于包括在上行通信的开始处的标题信息的定义大小(例如,一个字节、两个字节或其他整体或小数字节数)。处理器44基于包括在通信时间表20中的信息来识别与从属模块14A的返回信息相关联的上行消息内的起始位置和相关联的返回信息的长度(或大小)。字节计数器被重新配置为在接收到第二阈值字节数之后中断,第二阈值字节数对应于在上行消息的起始位置和消息内与从属模块14A相关联的位置之间的字节数。响应于中断,将与返回信息相关联的数据的长度从返回存储器34传送到发送缓冲器42。在一些示例中,DMA2(例如被处理器44)重新配置以将来自返回存储器34的数据传输到发送缓冲器42。在其他示例中,例如在图3的示例中,第三DMA(被示出为DMA3)用于将数据从返回存储器34传输到发送缓冲器42。字节计数器再次被重新配置以在第三阈值字节数之后中断,第三阈值字节数对应于与返回信息相关联的数据的长度(即,数据的字节数)。
发送缓冲器42内的数据也被移动到CRC缓冲存储器41。处理器44对发送缓冲器42内的数据执行CRC(即,经由DMA1从缓冲存储器40移动到发送缓冲器42的数据以及经由DMA3从返回存储器34移动到发送缓冲器42的数据)。在从发送缓冲器42传输数据之后的中断启动所计算出的CRC到发送缓冲器42的DMA传输(例如,在上行消息的末尾或在发送缓冲器42内的另一限定位置处),在图3中被示出为DMA4。另外,处理器44将所计算出的CRC与CRC标准(例如包括在所接收到的上行消息数据中的固定长度校验值)进行比较。
响应于确定所计算出的CRC不满足CRC标准,处理器44使对应于从属模块14A的故障节点识别符(FNID)从CRC缓冲存储器传输到发送缓冲器42(例如,在所计算出的CRC之后的位置或者在发送缓冲器42内的另一限定位置处)。对应于从属模块14A的故障节点识别符识别从属模块14A并且指示通过从属模块14A的收发器22U的上行通信不满足CRC校验,因此指示来自从属模块14A的通信可能包括错误的通信数据。响应于确定所计算出的CRC满足CRC标准,处理器44不使对应于收发器22U的故障节点识别符传输到发送缓冲器42。
在某些示例中,收发器从属模块14A-14N中的每一个可以响应于确定通过收发器22U-26U中的相应的一个的通信不满足CRC标准而插入单独的故障节点识别符。在其他示例中,从属模块14A-14N中的每一个可以利用对应于从属模块14A-14N中的相应的一个的故障节点识别符来更新单个故障节点识别符(例如,对应的上行通信内的单个位置)。在这样的示例中,在主令控制器12(图1)处接收到的故障节点识别符可以指示从属模块14A-14N中的如下一个:该从属模块在最上游(例如,在通信路径中最靠近主令控制器12)并且潜在地与错误的通信数据相关联。在某些示例中,主令控制器12可以利用从属模块14A-14N中的对应于故障节点识别符的从属模块的上游的那些从属模块接收的通信数据,并且可以忽略(或以其他方式避免利用)从从属模块14A-14N中的对应于故障节点标识的从属模块的下游的从属模块接收的数据。发送缓冲器42内的数据(包括CRC和故障节点识别数据)作为上行消息的一部分被发送。
图4A至图4E是示出用于与通信系统10一起使用的示例性模块识别过程的示意性框图。如图4A至图4E所示以及基于图4A至图4E的示例所描述的,主令控制器12可以识别从属模块14A-14N在从属模块14A-14N的串联连接内的相对位置(即,从属模块14A-14N的串联连接的顺序)以及从属模块14A-14N的身份信息(例如,类型、型号、序列号或其他身份信息)。此外,主令控制器12可以确定从属模块14A-14N中的哪一个是从属模块14A-14N中的串联的最后一个,并且可以将从属模块14A-14N中的串联的最后一个配置为端子从属模块,该端子从属模块生成返回消息并向上游发送返回消息。这样,图4A至图4E的技术使得任何数量和任何类型的从属模块均能够与主令控制器12串联连接,而无需预先设置具有连接顺序的从属模块14A-14N或主令控制器12。此外,从属模块14A-14N中的任何一个均可以被配置为充当端子从属模块,这种配置由主令控制器12基于针对特定应用和/或工业工艺实施的连接顺序来启动。
参考图4A至图4E描述的识别过程可以由主令控制器12在例如通信系统10的操作的初始化阶段期间(例如在主令控制器12的启动或通电期间)实施。在一些示例中,可以在通信系统10的操作期间重复识别过程,以确定是否已经添加了新的从属模块,是否已经移除了从属模块14A-14N中的任一个,和/或是否从属模块中的任一个处于故障状态或以其他方式无法通信。
从属模块14A-14N中的每一个均可以例如在计算机可读存储器中存储标识相应的从属模块的目的地识别符。例如,如图4A所示,从属模块14A可以存储目的地识别符(ID)46A,从属模块14B可以存储目的地ID 46B,并且从属模块14N可以存储目的地ID 46N。目的地ID 46A-46N用作通信系统10内相应的从属模块的唯一识别符。这样,在一些示例中,主令控制器12可以向下游发送消息,该消息包括经由目的地ID 46A-46N识别从属模块14A-14N中对应的一个的标题信息。
图4A的示例示出了处于初始状态的通信系统10,例如,在由主令控制器12初始化之前。如图4A所示,从属模块14A-14N中的每一个均可以预先设置,以存储具有对应于未初始化的(或未识别的)模块的定义值的目的地ID。例如,如图4A所示,从属模块14A-14N中的每一个均可以预先设置,以存储具有十六进制值为0x0000的目的地ID,尽管任何定义的识别符(使用任何字母数字代码)均可以被预先定义为对应于未初始化的模块。
为了识别和初始化从属模块14A-14N,主令控制器12向下游发送识别消息,该消息被寻址到对应于未初始化的模块的已定义目的地ID(在该示例中为0x0000)。例如,主令控制器12可以向下游发送消息,该消息具有将消息识别为识别类类型的标题信息(例如,定义为识别类类型消息的位序列)和对应于未初始化的模块的目的地ID。此外,识别类类型标题信息可以包括命令目的地ID。从属模块14A-14N可以被配置为存储(例如,在存储器中)命令目的地ID作为与相应的从属模块相关联的目的地ID。
从属模块14A-14N可以被配置为响应于具有与存储在相应的从属模块中的目的地ID匹配的目的地ID的识别类消息,而无需向下游重新发送识别类消息。从属模块14A-14N可以进一步被配置为向下游重新发送那些与存储在相应的从属模块处的目的地ID不匹配的识别类消息,并且向上游重新发送所有接收到的上行识别类消息。
对识别类模块的响应(如图4A所示)可以包括新存储的相应的从属模块的目的地ID以及相应的从属模块的身份信息。身份信息可以包括例如模块类型信息、模块版本信息、模块序列号信息或识别相应的从属模块的其他信息。
如图4A的示例所示,响应于接收到由主令控制器12向下游传送的具有对应于未初始化的模块的目的地ID(在该示例中为0x0000)的识别类消息,从属模块14A确定目的地ID0x0000匹配存储在从属模块14A的存储器中的目的地ID 46A的值。在该示例中,从属模块14A将接收到的消息中的命令目的地ID识别为具有十六进制值为0x0001。从属模块14A将0x0001的值存储为目的地ID 46A并且将新存储的0x0001值和从属模块14A的身份信息向上游发送到主令控制器12。
主令控制器12响应于从从属模块14A接收到响应消息而将目的地ID 0x0001和在主令控制器12的存储器内的响应中接收到的从属模块14A的接收身份信息存储起来。主令控制器12可以识别从属模块14A-14N在串联连接中的相对顺序作为在初始化过程期间接收到的身份信息的顺序。这样,主令控制器12可以将从从属模块14A接收到的身份信息识别(并且存储)为在从属模块14A-14N的串联连接中的串联第一从属模块(即,初始从属模块)。
如图4B所示,在图4A的示例中,从属模块14A根据发送到从属模块14A的命令目的地ID存储具有值为0x0001的目的地ID 46A。主令控制器12响应于从从属模块14A接收到响应消息而向下游发送新的识别类消息。新的识别类消息包括定义为对应于未初始化的模块的目的地ID和不同于与从属模块14A相关联的目的地ID的命令目的地ID。例如,如图4B所示,主令控制器12可以发送包括具有值为0x0000的目的地ID(即,对应于该示例中的未初始化的模块)和具有值为0x0002的命令目的地ID的识别消息。虽然图4B的示例将主令控制器12示出为将命令目的地ID递增值1,但是应该理解,可以利用任何唯一的命令目的地ID(即,不与主令控制器12的存储器内的从属模块相关联的任何命令目的地ID)。
在图4B的示例中,从属模块14A接收包含值为0x0000的目的地ID的识别类消息,将目的地ID与目的地ID46A的存储值进行比较,以及确定下行消息中包含的目的地ID与目的地ID 46A的存储值不匹配(即,该示例中的值为0x0001)。作为响应,从属模块14A向下游重新发送识别类消息。
从属模块14B(如图4B所示)接收来自从属模块14A的识别类消息并且将该消息中包括的目的地ID的值与存储在从属模块14B的存储器中的目的地ID 46B的值进行比较。在该示例中,从属模块14B确定下行消息中包括的目的地ID的值(即0x0000)与目的地ID 46B的存储值(即0x0000)相匹配。作为响应,从属模块14B将0x0002的值存储为目的地ID 46B,并且将新存储的值0x0002和从属模块14B的身份信息向上游朝向主令控制器12发送。从属模块14A接收上游识别类消息并且将消息重新向上游发送到主令控制器12。
主令控制器12响应于从从属模块14B接收到响应消息,将目的地ID 0x0002和接收到的从属模块14B的身份信息存储在主令控制器12的存储器中。主令控制器12进一步将从属模块14B识别为在串联连接中的所述多个从属模块的相对顺序中的下一个(即,在图4A的示例中,相对于被识别为串联第一个的从属模块14A下一个)。
如图4C所示,从属模块14A存储具有值为0x0001的目的地ID 46A,并且从属模块14B存储具有值为0x0002的目的地ID 46B。响应于从从属模块14B接收到响应消息,主令控制器12向下游发送新的识别类消息。新的识别类消息包括具有值为0x0000的目的地ID,(在该示例中定义为对应于未初始化的模块)以及具有十六进制值为0x000F(即,对应于十进制值十五)的命令目的地ID。从属模块14A接收下行识别类消息,确定所包含的目的地ID(0x0000)与目的地ID 46A的存储值(即0x0001)不匹配,并且向下游重新发送消息。从属模块14B接收下行识别类消息,确定所包含的目的地ID(0x0000)与目的地ID 46B(0x0002)的存储值不匹配,并且向下游重新发送消息。从属模块14N接收下行识别类消息,确定所包含的目的地ID(0x0000)与目的地ID 46N(0x0000)的存储值相匹配。作为响应,从属模块14N将命令的目的地ID(0x000F)的值存储为目的地ID 46N,并且向上游发送响应,该响应包括新存储的目的地ID(0x000F)的值和从属模块14N的身份信息。
从属模块14B和14A依次接收上行识别类消息并且向上游重新发送该消息。主令控制器12接收上行响应并且将目的地ID 0x000F和所接收到的从属模块14N的身份信息存储在主令控制器12的存储器中。主令控制器12进一步将从属模块14N识别为所述多个从属模块14A-14N的相对顺序中的下一个。
如图4D所示,从属模块14A存储具有值为0x0001的目的地ID 46A,从属模块14B存储具有值为0x0002的目的地ID 46B,并且从属模块14N存储具有值为0x000F的目的地ID46N。响应于从从属模块14N接收到响应消息,主令控制器12向下游发送新的识别类消息。新的识别类消息包括具有值为0x0000的目的地ID(在该示例中被定义为对应于未初始化的模块),以及具有十六进制值为0x0010(即,对应于十进制值16)的命令的目的地ID。
从属模块14A-14N中的每一个均接收到下游识别类消息,确定所包含的目标ID(0x0000)与相应的从属模块的目标ID的存储值不匹配,并且向下游重新发送消息。在图4D的示例中,从属模块14N是串联的最后一个从属模块,因此没有连接到任何下游从属模块。这样,在该示例中没有从属模块响应下游消息,并且没有上游响应被发送到主令控制器12。
主令控制器12响应于确定已经过去了阈值时间量而没有接收到响应消息(例如,一秒、两秒、三秒或其他阈值时间量)而可以确定从属模块14N(即,最后一个响应的从属模块)是串联的最后一个从属模块。在一些示例中,主令控制器12可以重新发送具有对应于未初始化的模块的目的地ID的识别类消息一次、两次、三次或多于三次,以确定是否在阈值时间量内接收到响应。响应于确定从属模块14N(即,最后一个响应的从属模块)是串联的最后一个从属模块,主令控制器12存储对应于从属模块14N的目的地ID(在该示例中为0x000F)作为对应于端子从属模块的目的地ID。
如图4E所示,响应于确定从属模块14N是通信系统10中的端子从属模块,主令控制器12向下游发送识别类消息,该识别类消息包括对应于从属模块14N(0x000F)的目的地ID和端子模块配置命令。具有与从属模块14A或14B中的任一个不匹配的目的地ID的识别类消息通过从属模块14A和14B向下游发送到从属模块14N。
响应于接收到包括与目的地ID 46N(0x000F)匹配的目的地ID和端子模块配置命令的识别类消息,从属模块14N重新配置以作为端子从属模块进行操作。这样,从属模块14N被配置在通信系统10内以响应于接收到下游命令消息而生成返回消息,并且将返回消息向上游朝向主令控制器12发送。
因此,主令控制器12可以确定从属模块14A-14N中的每一个的身份以及通信系统10内的从属模块14A-14N的串联连接的相对顺序。这样,任何类型、数量和顺序的从属模块均可以与主令控制器12串联连接,而无需预先设置从属模块14A-14N或主令控制器12的从属模块类型、从属模块的数量或通信系统10内从属模块的连接顺序。
通过实施本公开的技术,通信系统10可以在主令控制器设备和多个从属模块之间通过低压连接实现大数据包的高速通信,该低压连接促进了可能涉及可燃烟雾或其他危险物质的工业工艺中的本质安全。可以由主令控制器和从属模块中的每一个存储的通信时间表的使用使得消息能够与多个从属模块相关联,而不需要将与每条消息相关联的每一个从属模块的识别信息包含在标题信息中。此外,通信时间表的使用可以使得从属模块能够有效地识别并且在某些示例中预测消息,从而使得从属模块能够快速响应,以减少系统的处理等待时间。这样,本公开的技术可以通过减少系统处理等待时间和增加通信系统中的可用带宽来实现高速通信,该通信系统可以与需要系统部件的本质安全的工业工艺一起使用。
将一起描述图5和图6。图5是系统100的示意性框图,示出了在设备112A-112n与控制系统114之间的连接,该系统包括图1的通信系统10。系统100可以是用于执行工业工艺(例如涂覆工艺、精加工工艺或其他工业工艺)的工业系统。
如图5所示,系统100包括设备112A-112n、控制系统114和连接115A-115n。控制系统114包括主控制器116、控制模块118A-118n和用户接口120。与前文使用的约定一致,字母“n”相对于设备112A-112n、连接115A-115n、控制模块118A-118n等表示任意数量,以使得系统100可以包括任意数量的设备112A-112n、任意数量的连接115A-115n和任意数量的控制模块118A-118n。
设备112A-112n是系统100的部件,即工业部件。设备112A-112n可以是例如致动器或传感器。作为传感器的设备112A-112n中的一些可以表示系统100的输入,并且作为致动器的设备112A-112n中的一些可以表示系统100的输出。例如,设备112A-112n中的任何一个或更多个可以是流量计、压力换能器、泵、致动器、螺线管、其他阀、马达、流体体积传感器、温度传感器或工业工艺的其他部件。设备112A-112n在系统100内可以具有任何合适的组织或顺序以执行工业工艺。
设备112A-112n中的每一个被配置为接收一个或更多个电或光连接(例如,连接115A-115n,如下文更详细地描述的)。设备112A-112n中的每一个均可以被配置为经由一个或多个连接向例如控制模块118A-118n中的对应的控制模块接收和/或发送信号(即,数据,例如状态或命令数据)和/或电力。各个设备112A-112n可以接收输入,该输入可以由范围电压、电流和/或功率或最大可接受的电压、电流和/或功率来限定。设备112A-112n中的不同设备可以接受不同的电压(或电流或功率)或相同的电压(或电流或功率),这取决于各自的设备需求。类似地,设备112A-112n中的不同设备可以发送信号作为输出,该输出可以由范围电压、电流和/或功率或最大电压、电流和/或功率来限定。设备112A-112n中的不同设备可以以不同的电压(或电流或功率)或相同的电压(或电流或功率)传输信号,这取决于各自的设备要求。在一些示例中,各个设备112A-112n还可以接收或发送光信号,例如光纤信号。
尽管在图5中示出了三个设备112A-112n,但是应该理解,系统100的其他示例可以包括更多或更少的设备112A-112n。此外,设备112A-112n的数量可以基于由系统100执行的工艺的期望配置。因此,系统100可以包括任何合适数量的设备112A-112n。取决于与系统100相关联的工艺,设备112A-112n中的任何一个或更多个可能处于危险位置中,例如设备112A-112n暴露于易燃或易爆蒸汽的位置。
控制系统114包括主控制器116和控制模块118A-118n。主控制器116和控制模块118A-118n一起可以是上文关于图1描述的通信系统10的示例。更具体地,主控制器116可以是主令控制器12的实施例,并且控制模块118A-118n可以是从属模块14A-14N的实施例。在一些示例中,包括主控制器116和控制模块118A-118n的控制系统114可以是可编程逻辑控制器(PLC)。控制模块118A-118n在模块间通信总线(IMCB)布置中相互连接并且连接到主控制器116。更具体地,主控制器116和控制模块118A-118n串联地电连接或通信连接在主控制器116和控制模块118A-118n中的端子模块(例如,控制模块118n)之间。在一些示例中,主控制器116和每个控制模块118A-118n一起安装在机架或DIN导轨上。为了简单和便于讨论的目的,在随后的描述中使用术语“IMCB通信”来涵盖上文关于图1-图4E阐述的用于例如发送通信时间表和/或识别模块的通信过程。
尽管在图5的示例中示出了三个控制模块118A-118n,但是应该理解,控制系统114的其他示例可以包括更多或更少的控制模块118A-118n。在一些示例中,控制系统114是模块化系统,并且可以基于系统100执行的工艺所需的输入和输出的数量来调整控制模块118A-118n的数量。因此,控制系统114可以包括任何合适数量的控制模块118A-118n。取决于与系统100相关联的工艺,控制系统114可能处于危险位置,例如主控制器116和/或控制模块118A-118n暴露于易燃或易爆蒸汽的位置。
尽管在图5的示例中为了清楚和便于说明的目的没有示出,但是主控制器116和每个控制模块118A-118n包括一个或更多个处理器和计算机可读存储器。所述一个或更多个处理器的示例可以包括微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的分离的或集成的逻辑电路中的任何一个或更多个。
主控制器116和控制模块118A-118n的计算机可读存储器可以被配置为在操作期间将信息存储在主控制器116和控制模块118A-118n内。在一些示例中,计算机可读存储器可以被描述为计算机可读存储介质。在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质不体现在载波或传播的信号中。在某些示例中,非暂时性存储介质可以存储可以随时间变化的数据(例如,在RAM或高速缓存器中)。主控制器116和控制模块118A-118n的计算机可读存储器可以包括易失性和非易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和其他形式的易失性存储器。非易失性存储器的示例可以包括磁性硬盘、光盘、闪速存储器或电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。
主控制器116是系统100的集中控制器。通常,主控制器116可以具有与上文关于图1至图4E中的主令控制器12所描述的相同的结构和功能。控制模块118A-118n是控制系统114的连接到主控制器116的输入/输出(I/O)模块。通常,控制模块118A-118n可以具有与上述关于图1至图4E中的从属模块14A-14N相同的结构和功能。控制模块118A-118n中的每一个均包括板载存储器(即,计算机可读存储器)。控制模块118A-118n中的任何一个或更多个可以是例如模拟输入/输出(AIO)模块、数字输入/输出(DIO)模块、数字输出(DO)模块、光纤通信(FO)模块、电力隔离(PI)模块或其他模块类型。
控制模块118A-118n中的每一个均被配置为接收一个或更多个电或光连接(例如,连接115A-115n,如下文更详细描述的),以连接到系统100的输入和/或输出(例如,设备112A-112n)。控制模块118A-118n中的每一个均可以包括一个或更多个用于接收连接的端子(即,引脚、连接器或通道)。更具体地,控制模块118A-118n中的每一个均可以被配置为经由连接到控制模块118A-118n中的对应的控制模块上的相应的引脚来接收和/或传输信号(即,数据,例如状态或命令数据)和/或电力。因此,控制模块118A-118n的所述一个或更多个端子或引脚可以各自具有对应的引脚类型,例如输入或输出、源化(sourcing)或汇集(sinking)、高速等。控制模块118A-118n中的不同控制模块可以经由对应的引脚接收输入,可以通过范围电压、电流和/或功率或最大可接受的电压、电流和/或功率来限定该输入。控制模块118A-118n中的不同控制模块或控制模块118A-118n中的一个控制模块的不同引脚可以接受不同的电压(或电流或功率)或相同的电压(或电流或功率),这取决于各个I/O模块要求。类似地,各个控制模块118A-118n可以经由对应的引脚将信号作为输出传输,这可以由范围电压、电流和/或功率或最大电压、电流和/或功率来限定。控制模块118A-118n中的不同控制模块或控制模块118A-118n中的一个控制模块的不同引脚可以传输不同电压(或电流或功率)或相同电压(或电流或功率)的信号,这取决于各个I/O模块要求。在一些示例中,各个控制模块118A-118n还可以经由一个或更多个引脚或连接器接收或传输光信号,例如光纤信号。
连接115A-115n是设备112A-112n和控制模块118A-118n之间的连接或接口。连接115A-115n可以在设备112A-112n和控制模块118A-118n中的对应控制模块之间传输电力和/或数据。更具体地,连接115A-115n是在设备112A-112n中的每一个与控制模块118A-118n中的对应的控制模块的相应的引脚之间的电或光连接。在一些示例中,连接115A-115n可以在危险位置和非危险位置之间延伸。在一些示例中,连接115A-115n可以是有线连接。在一些示例中,连接115A-115n可以是电连接。在其他示例中,连接115A-115n可以是光连接,例如光纤连接。例如,当连接115A-115n处于或穿过危险环境时,光纤连接可以用于促进系统100的本质安全,以在存在例如烟雾或其他危险物质的情况下限制电能和/或热能。在又一些示例中,连接115A-115n可以是无线连接。在又一些示例中,连接115A-115n可以包括连接类型的组合(例如,用于危险位置和非危险位置之间的通信)。
如图5所示,设备112A-112n中的每一个均可以通过连接115A-115n中的对应的一个连接到控制模块118A-118n中的单独一个控制模块。即,连接115A-115n中的一个可以连接在设备112A-112n中的一个和控制模块118A-118n中的一个之间。如图5所示,设备112A通过连接115A连接到控制模块118A,设备112B通过连接115B连接到控制模块118B,设备112n通过连接115n连接到控制模块118n。在其他示例中,设备112A-112n中的一个或更多个和/或控制模块118A-118n中的一个或更多个可以接收多个连接115A-115n。在一些示例中,来自设备112A-112n中的单个设备的多个连接115A-115n可以连接到控制模块118A-118n中的一个或更多个。在一些示例中,来自控制模块118A-118n中的单个控制模块的多个连接115A-115n(例如,来自在控制模块118A-118n中的单个控制模块上的多个引脚)可以连接到设备112A-112n中的一个或更多个。在一些示例中,来自设备112A-112n中的多个设备的连接115A-115n中的一些可以连接到控制模块118A-118n中的相同的一个控制模块(例如,在控制模块118A-118n中的所述一个控制模块的不同引脚处)。
此外,在接收连接115A-115n中的一个的控制模块118A-118n上的相应的引脚可以在控制模块118A-118n中的控制模块之间移动。例如,如果控制模块118B(或控制模块118A-118n中的任何一个)损坏或发生故障,则来自控制模块118B的连接到连接115B的相应的引脚可以移动到控制模块118A-118n中的不同模块(例如,在图5所示的示例中为控制模块118A或控制模块118n)上的兼容断开位置。然后,所得到的控制系统114可以包括:例如接收连接115A和连接115B的控制模块118A、不接收连接的控制模块118B、以及接收连接115n的控制模块118n。
用户接口120可操作地连接到控制系统114以使用户能够与主控制器116交互,例如用于系统100的配置、初始化、监测和/或控制。用户接口120可以包括显示设备和/或其他用户接口元件(例如,按钮、表盘、呈现在触敏显示器上的图形控制元件,或其他用户接口元件)。在一些示例中,用户接口120包括图形用户接口(GUI),该GUI包括系统100的部件和/或过程的图形表示。
在操作中,系统100执行工业工艺,例如涂覆工艺、精加工工艺或其他工业工艺。设备112A-112n可以经由连接115A-115n从控制系统114接收电力和/或数据,以执行工业工艺中的功能。例如,诸如螺线管的致动器可以从控制系统114接收电信号并且将该信号转变为物理输出,诸如打开或关闭。设备112A-112n还可以经由连接115A-115n将信号发送到控制系统114,以执行工业工艺中的功能。例如,诸如流量计的传感器可以将电信号发送到控制系统114以指示感测到的输入,诸如系统100中流体的流速。
现在参考图6,图6是示出控制系统114的对应于系统100的设置过程的细节的示意性框图。如图6所示,控制系统114包括主控制器116、控制模块118A-118n和用户接口120。主控制器116包括第一处理器121A、第二处理器121B、集成开发环境(IDE)122、持久存储器124、共享存储器126、指针模块128和网络服务器130。IDE 122包括部件库132A-132n,该部件库包括相应的部件描述文件134A-134n和部件源文件136A-136n。持久存储器124包括设置映射表138。
主控制器116包括第一处理器121A和第二处理器121B。第一处理器121A和第二处理器121B可以采用主控制器116的多核处理器的形式。第一处理器121A和第二处理器121B可以是相同或不同类型的处理器。尽管在图6中被示出为两个处理器,但是应该理解,主控制器116的其他示例可以替代地包括更多个处理器(例如,附加的处理核心)或单个处理器。第一处理器121A和第二处理器121B各自连接到共享存储器126,因此第一处理器121A和第二处理器121B可以通过共享存储器126彼此间接地连接。
第一处理器121A可以运行操作系统,例如Linux。集成开发环境(IDE)122可以存在于在第一处理器121A上的操作系统内。IDE 122是用于工业自动化应用的软件平台。在一些示例中,IDE 122可以是CODESYS(基于国际工业标准IEC 61131-3的开发工具)的运行时环境(runtime)。在其他示例中,IDE 122可以是用于配置和运行应用程序的任何合适的开发环境。由IDE 122执行的应用程序可以使系统100通过设备112A-112n执行工业工艺,例如涂覆工艺、精加工工艺或其他工业工艺。
第二处理器121B处理在主控制器116和控制模块118A-118n之间的IMCB通信。即,以上关于主令控制器12(图1-图4E)描述的功能可以通过第二处理器121B执行。
设备112A-112n可以在IDE 122中被抽象和定义为虚拟外围装置。另一方面,控制模块118A-118n不需要在IDE 122内虚拟化。设备112A-112n中的每一个可以对应于在IDE122内定义的相应的虚拟外围装置。虚拟外围装置是使用IDE 122的部件库132A-132n定义的。每个虚拟外围装置可以对应于相应的部件库132A-132n。以这种方式,每个设备112A-112n也对应于相应的部件库132A-132n。IDE 122还可以包括与控制模块118A-118n相关联的I/O驱动程序管理器。部件库132A-132n可以与I/O驱动程序管理器兼容。
如图6所示,部件库132A-132n中的每一个均包括对应的部件描述文件134A-134n和对应的部件源文件136A-136n。在一些示例中,部件描述文件134A-134n可以是可扩展标记语言(XML)文件。每个部件描述文件134A-134n定义设备112A-112n中的对应的一个的部件参数。部件参数可以包括设备112A-112n中的对应的一个的标识、输入参数、输出参数、配置设定和任何其他部件参数。更具体地,部件参数可以包括例如设备112A-112n中的对应的一个的标识;更新速率;设备112A-112n中的对应的一个是否处于危险位置;设备112A-112n中的对应的一个是否被启用;零件号或其他唯一识别符;部件端子标识(表示经由连接115A-115n中的一个连接到设备112A-112n中的对应的一个);部件端子类型;部件功率参数(即,部件功率、电压和/或电流消耗);电线颜色等。部件参数通常可以描述为关于设备112A-112n的元数据。此外,输入参数可以表示可以被设备112A-112n中的对应的一个接收的输入信号;例如,输入参数可以包括输入信号的电压、电流和/或功率。输出参数可以表示可以由设备112A-112n中的对应的一个发送的输出信号;例如,输出参数可以包括输出信号的电压、电流和/或功率。部件源文件136A-136n可以是.C文件。部件源文件136A-136n定义对应于设备112A-112n中的对应的一个的功能的函数(即,当设备112A-112n中对应的一个的部件参数用于IDE 122中的应用程序时发生什么)。部件源文件136A-136n还可以定义与I/O驱动程序管理器相关联的所需函数。
IDE 122包括变量,这些变量可以与来自部件描述文件134A-134n中的一个或更多个的部件参数相关联。来自IDE 122的变量用于通过IDE 122运行的应用程序。当来自IDE122的变量与用于相应的虚拟外围装置的部件参数(例如,定义的输入、输出和配置设定)相关联时,IDE 122可以与对应的部件描述文件134A-134n和对应的部件源文件136A-136n交互以执行功能。与用于相应的虚拟外围装置的部件参数相关联,然后在IDE 122内的特定应用程序中使用的来自IDE 122的变量,可以表示启用的虚拟外围装置的系统或过程配置,即,针对虚拟外围装置启用的设备112A-112n中的一些设备。换句话说,加载到IDE 122中的特定应用程序的变量可以对应于系统100中设备112A-112n中的一组启用的设备。
持久存储器124是主控制器116的计算机可读存储器,该持久存储器124被第一处理器121A访问。IDE 122(以及与第一处理器121A相关联的任何其他部件,例如网络服务器130)可以连接到持久存储器124,以访问或存储持久存储器124内的数据。例如,持久存储器124可以是任何合适的数据库。
设置映射表138可以表示持久存储器124内的数据库设计或模式(schema)。设置映射表138包括对应于启用的虚拟外围装置的元数据和对应于每个控制模块118A-118n的元数据。对应于启用的虚拟外围装置的元数据可以包括任何部件参数。部件参数可以例如从部件描述文件134A-134n获得并且由IDE 122加载到设置映射表138中。相应地,对应于启用的虚拟外围装置的元数据可以包括针对启用的虚拟外围装置中的每一个,例如设备112A-112n中的对应的一个的识别;更新速率;设备112A-112n中的对应的一个是否处于危险位置;设备112A-112n中的对应的一个是否被启用;零件号或其他唯一识别符;部件端子标识(表示经由连接115A-115n中的一个连接到设备112A-112n中的对应的一个);部件端子类型;部件功率参数(即,部件功率、电压和/或电流消耗);电线颜色等。
类似地,对应于控制模块118A-118n的元数据可以包括与控制模块118A-118n相关联的任何参数。与控制模块118A-118n相关联的参数可以例如经由IMCB通信获得并且由网络服务器130从共享存储器126加载到设置映射表138。网络服务器130还可以从配置文件(例如能够由网络服务器130访问的XML文件)加载与控制模块118A-118n相关联的附加参数。例如,对应于控制模块118A-118n的元数据可以包括针对控制模块118A-118n中的每一个,例如控制模块118A-118n中的对应的一个控制模块的识别;控制模块118A-118n中的对应的一个控制模块是否被启用;模块类型信息;零件号或其他唯一识别符;在控制模块118A-118n中的对应的一个控制模块上的端子(或引脚)的数量;针对控制模块118A-118n中的对应的一个控制模块的每个端子(或引脚)的模块端子识别,例如名称和/或编号;针对控制模块118A-118n中的对应的一个控制模块的每个端子(或引脚)的模块端子类型;控制模块118A-118n中的对应的一个控制模块的每个端子(或引脚)的模块端子功率参数(即,端子功率、电压和/或电流消耗);板载存储器地址;控制模块118A-118n中的对应的一个控制模块的位置;电线颜色等。此外,模块端子功率参数可以表示控制模块118A-118n中的对应的一个控制模块可以接收的输入信号;例如,模块端子功率参数可以包括输入信号的电压、电流和/或功率。在其他示例中,模块端子功率参数可以表示可以由控制模块118A-118n中的对应的一个控制模块传输的输出信号;例如,模块端子功率参数可以包括输出信号的电压、电流和/或功率。对应于启用的虚拟外围装置和控制模块118A-118n的元数据可以被组织成在设置映射表138内的相关表格或其他数据结构。
在系统100的设置过程中,设置配置被生成并且存储在持久存储器138中。设置配置可以是在设置映射表138内的表格或其他数据结构。设置配置表示设备112A-112n如何通过系统100内的连接115A-115n连接到或将会连接到控制模块118A-118n的虚拟映射或配置,具体地,哪些端子对应于(连接到)设备112A-112n中的哪些设备。因此,设置配置还表示控制模块118A-118n的相应的端子与启用的虚拟外围装置中的对应的一个(对应于设备112A-112n中的连接的一个)之间的链接。总体而言,设置配置表示控制模块118A-118n的各个端子和对应的启用的虚拟外围装置的链接对的组或群。设置配置是基于对应于启用的虚拟外围装置中的每一个的元数据和对应于控制模块118A-118n中的每一个的元数据的。更具体地,设置配置可以包括或可以填充有参数,这些参数为控制模块118A-118n的相应的端子和启用的虚拟外围装置中的对应的一个启用的虚拟外围装置的每一个链接对指定:控制模块118A-118n中的相应的一个控制模块的标识,用于控制模块118A-118n中的相应的一个控制模块的相应的端子的模块端子标识;与相应的端子链接的启用的虚拟外围装置中的对应的一个启用的虚拟外围装置的标识;启用的虚拟外围装置中的对应的一个启用的虚拟外围装置的部件端子标识;启用的虚拟外围装置中的对应的一个启用的虚拟外围装置的更新速率;以及对应于控制模块118A-118n中的对应的一个控制模块的板载存储器的存储器地址。
共享存储器126是主控制器116的由第一处理器121A和第二处理器121B两者访问的计算机可读存储器。IDE 122(以及与第一处理器121A相关联的任何其他部件,例如网络服务器130)可以通过与共享存储器126交互来连接到控制模块118A-118n并与控制模块118A-118n通信。例如,从IMCB通信返回的数据可以存储在共享存储器126中,该共享存储器126随后可由第一处理器121A访问。
指针模块128是第一处理器121A的功能模块,用于链接启用的虚拟外围装置和控制模块118A-118n。更具体地,指针模块128链接(或使用指针)在IDE 122内与每个启用的虚拟外围装置相关联的变量和在共享存储器126中与控制模块118A-118n中的对应的控制模块相关联的位置之间。因此,IDE 122可以从控制模块118A-118n获得数据(例如,从IMCB通信返回的数据),反之亦然,而无需在软件中明确地定义在IDE 122和控制模块118A-118n中的每一个之间的连接。
网络服务器130和用户接口120形成系统100的网络界面,用于控制、监测或以其他方式与系统100交互。网络服务器130在第一处理器121A上运行。在一些示例中,网络服务器130可以在Linux或其他操作系统中运行。通过网络服务器130执行系统100的设置过程。在一些示例中,用户可以与用户接口120交互以通过网络服务器130设置系统100。网络服务器130可以将数据写入持久存储器124并且可以连接到共享存储器126。例如,网络服务器130可以通过共享存储器126访问来自IMCB通信的数据。
在设置过程中,应用程序在IDE 122中加载或启动。IDE 122可以基于特定应用程序的过程配置识别一个或更多个启用的虚拟外围装置。这可能是与系统100相关联的任何工业应用程序中的标准步骤。然后,IDE 122可以将与启用的虚拟外围装置相对应的元数据加载到持久存储器124内的设置映射表138中。即,IDE 122可以从部件描述文件134A-134n将与启用的虚拟外围装置相关联的部件参数或部件参数的一部分加载到设置映射表138中。启用的虚拟外围装置的列表或图形表示可以经由用户接口120显示。IDE 122还可以将对应于启用的虚拟外围装置的信息传送到指针模块128。此时,加载到IDE 122中的应用程序可以被停止并且阻止运行直到设置完成。
主控制器116可以启动与控制模块118A-118n的IMCB通信。IMCB通信可以识别控制系统114中连接的一个或更多个控制模块118A-118n。在一些示例中,IMCB通信可以返回关于每个控制模块118A-118n的基本信息,例如模块类型、部件号、序列号、模块上加载了什么软件的指示等。网络服务器130可以访问与控制模块118A-118n中的每一个相关联的附加信息或参数(例如,在配置文件中)(或者,在一些示例中,网络服务器130可以访问与可以在系统100中使用的任何可能的I/O模块相关联的信息库)。对应于控制模块118A-118n的元数据可以经由例如网络服务器130加载到持久存储器124内的设置映射表138中。即,网络服务器130可以从IMCB通信和/或配置文件将与控制模块118A-118n相关联的参数或该参数的一部分加载到设置映射表138中。可以通过用户接口120显示控制模块118A-118n的列表或图形表示。
用户可以查看在IDE 122中运行的特定应用程序,并且可以与启用的虚拟外围装置和控制模块118A-118n的列表进行交互。经由用户接口120,用户可以指示主控制器116上的网络服务器130以将启用的虚拟外围装置中的每一个映射或链接到控制模块118A-118n的相应的兼容端子,从而在每个相应的端子和启用的虚拟外围装置中的对应的启用的虚拟外围装置中的每一个之间形成链接。即,用户可以通过用户接口120将启用的虚拟外围装置中的每一个与控制模块118A-118n的相应的兼容的端子相关联,并且主控制器116将启用的虚拟外围装置中的每一个链接到相应的端子,以根据用户的关联来构建设置配置。在一些示例中,形成链接可以包括用户经由用户接口120在启用的虚拟外围装置的图像表示和控制模块118A-118n的图形表示之间执行拖放动作。
启用的虚拟外围装置与控制模块118A-118n的相应端子之间的兼容性可以基于对应于启用的虚拟外围装置中的每一个的元数据和对应于控制模块118A-118n中的每一个的元数据来确定。例如,当与启用的虚拟外围装置的参数和端子相关联的参数匹配时,虚拟外围装置和控制模块118A-118n的端子可以是兼容的。在一些示例中,匹配的参数可以具有相同或相等的值。在其他示例中,匹配的参数可以具有重叠的值范围。在一些示例中,将启用的虚拟外围装置中的每一个链接到控制模块118A-118n的相应的端子包括:将控制模块118A-118n的相应的端子的模块端子功率参数和模块端子类型参数与由对应于启用的虚拟外围装置中的一个启用的虚拟外围装置的部件功率参数和部件端子类型参数构成的兼容对或匹配对进行匹配。将启用的虚拟外围装置中的每一个成功地链接到控制模块118A-118n的相应的端子形成相应的端子和对应的启用的虚拟外围装置的一组链接对。
在每个相应的端子和启用的虚拟外围装置中的对应的一个中的每一个之间形成链接的过程构建或生成设置映射表138的设置配置。持久存储器124的数据库设计(例如,设置映射表138)和其他系统检查在所述一个或更多个启用的虚拟外围装置中的一个虚拟外围装置与所述一个或更多个端子中的与所述一个虚拟外围装置兼容的端子之间实施适当的映射。例如,设置过程可以防止启用的虚拟外围装置中的一个虚拟外围装置与控制模块118A-118n的所述一个或更多个端子中的与所述一个虚拟外围装置兼容的端子之间的链接。
一旦生成了构成设置配置的链接,设置配置就可以从网络服务器130传送到持久存储器124、IDE 122和共享存储器126。网络服务器130也可以将设置配置传送到指针模块128。设置配置通过来自第二处理器121B的IMCB通信被传送或写入控制模块118A-118n中的每一个。设置配置可以存储在每个控制模块118A-118n的板载存储器中。
指针模块128从IDE 122接收关于启用的虚拟外围装置的信息或可以连接到关于启用的虚拟外围装置的信息、从共享存储器126接收关于控制模块118A-118n的信息或可以连接到关于控制模块118A-118n的信息、以及从网络服务器130接收设置配置或可以连接到设置配置。指针模块128可以将关于启用的虚拟外围装置的信息匹配到关于控制模块118A-118n的信息,以基于设置配置在IDE 122中的变量和控制模块118A-118n中的变量之间建立间接连接。设置过程防止指针模块128在虚拟外围装置(和IDE 122中的变量)和控制模块118A-118n之间错误地指向。
作为最后的步骤,可以基于与启用的虚拟外围装置中的每一个以及控制模块118A-118n中的对应的控制模块相关联的更新速率(根据设置配置)来生成总线通信时间表(如上文关于图1更详细地描述的)。总线通信时间表通过来自第二处理器121B的IMCB通信传送或写入控制模块118A-118n中的每一个。在一些示例中,总线通信时间表可以与设置配置同时写入控制模块118A-118n。
设置过程基于设置配置中相应的端子和启用的虚拟外围装置中的所述对应的一个之间的链接,允许设备112A-112n连接到系统100内的控制模块118A-118n的对应的端子。
实施本公开的技术的系统100使设备112A-112n能够容易地跨项目重复使用,这是因为系统100的设置过程是基于与部件库132A-132n中预定义的设备112A-112n的交互的。当在不同的工业过程中重复使用相同类型的设备112A-112n时,这是有利的。
本文描述的设置过程使得控制器硬件(例如,控制模块118A-118n)对于系统100的特定应用程序的软件设计基本上是不可见的。即,可以设计系统100的应用程序软件而不用关注设备112A-112n究竟如何连接到控制模块118A-118n。相比之下,典型的工业系统可能包括与特定控制器硬件配置或硬件组合相关联的应用软件。在典型系统中,应用软件的编写使得应用变量与控制器硬件的输入和输出相关联。这样,应用软件只能“看到”控制器硬件的输入和输出——它不直接绑定到连接到控制器硬件输入和输出的设备。这种系统的一个重要限制是,如果控制器硬件发生变化(例如,移除、更换或添加控制模块),则需要重新编写应用软件。
根据本公开的技术,可以基于设备112A-112n(而不是控制模块118A-118n的输入和输出)来设计在IDE 122中运行的应用软件,因为应用变量被绑定到由每个设备112A-112n的部件库132A-132定义的对应的虚拟外围装置。应用软件不直接绑定到控制模块118A-118n的输入和输出。在IDE 122中的应用软件和控制模块118A-118n之间的间接级别是通过网络服务器130和指针模块128来实现的,该网络服务器130和指针模块128在设置过程期间在对应的(例如,兼容的)虚拟外围装置和控制模块端子之间建立链接。以这种方式,系统100的应用软件和控制器硬件保持相对分离。
因为控制器硬件对于系统100的任何应用软件基本上是不可见的,所以如果控制器硬件有变化则可以避免重写软件。例如,如果控制模块118A-118n中的一个需要被移除或替换,则软件将不需要改变,这是因为软件中的连接被绑定到抽象的设备112A-112n而不是特定的控制模块。用户可以简单地将连接到旧控制模块的任何设备移动到新控制模块并且重新运行设置过程。此外,抽象的设备112A-112n允许研发人员以如下方式编写应用软件:该方式与研发人员可能在设备和工业工艺步骤方面而不是控制模块118A-118n的输入和输出方面如何考虑系统100一致。
应用软件和控制模块118A-118n之间的这种分离还使得不同的人能够借助系统100工作。例如,研发者可以在应用软件中(在IDE 122中)为每个设备112A-112n定义逻辑。在设备112A-112n和控制模块118A-118n之间构建连接的技术人员可以访问用户接口120以设置系统100,而不需要研发人员基于所构建的连接编写或重写应用软件。
因此,实现本公开的技术的系统100相对于控制系统114的任何硬件的设置是灵活的。通过在IDE 122中添加和定义新设备和/或通过移除、替换或添加模块来更改控制模块118A-118n的配置,可以相对容易地扩展系统。
非排他性示例的讨论
下面是本发明的可能示例的非排他性描述。
一种设置系统的方法,包括:定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;基于过程配置识别一个或更多个启用的虚拟外围装置;以及经由通信总线识别连接在该系统的控制系统中的一个或更多个控制模块。控制模块中的每一个均包括用于连接到一个或更多个设备的一个或更多个端子。该方法还包括:经由控制系统的主控制器,将启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;生成设置配置,该设置配置针对所述启用的虚拟外围装置中的每一个表示所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;以及经由通信总线将所述设置配置写入所述控制模块中的每一个。所述方法还包括:针对所述启用的虚拟外围装置中的每一个,与所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接一致地将所述相应的设备连接到所述相应的端子。
前一段所述的方法可以可选地包括:附加地和/或替代地,下列特征、配置、操作和/或附加部件中的任何一个或更多个:
定义所述一个或更多个虚拟外围装置还可以包括:基于对应于所述相应的设备的相应的部件库定义所述虚拟外围装置中的每一个。
所述相应的部件库可以包括:定义用于所述相应的设备的部件参数的部件描述文件,以及定义与所述相应的设备的功能性相对应的功能的源文件,并且,所述控制系统可以与所述部件描述文件和所述源文件交互,以执行所述功能。
所述部件参数可以包括以下各项中的至少一项:所述相应的设备的标识,表示通向所述相应的设备的输入信号的输入参数,表示来自所述相应的设备的输出信号的输出参数,以及配置设定。
所述设置配置可以是基于对应于所述启用的虚拟外围装置中的每一个的元数据和对应于所述控制模块中的每一个的元数据的。
对应于所述启用的虚拟外围装置中的每一个的所述元数据可以包括:用于所述启用的虚拟外围装置中的每一个的部件端子类型参数,以及用于所述启用的虚拟外围装置中的每一个的部件功率参数。对应于所述控制模块中的每一个的所述元数据包括:用于所述一个或更多个控制模块的所述端子中的每一个的模块端子类型参数,以及用于所述一个或更多个控制模块的所述端子中的每一个的模块端子功率参数,并且,将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的所述相应的端子还可以包括:将用于所述相应的端子的所述模块端子功率参数和所述模块端子类型参数与由对应于所述启用的虚拟外围装置中的一个的所述部件功率参数和所述部件端子类型参数构成的兼容对进行匹配。
所述方法还可以包括:将对应于所述启用的虚拟外围装置中的每一个的元数据存储在数据库中,以及将对应于所述控制模块中的每一个的所述元数据存储在所述数据库中。
所述设置配置可以被存储在所述数据库中,并且所述数据库的数据库设计可以在所述一个或更多个启用的虚拟外围装置中的一个启用的虚拟外围装置与所述一个或更多个端子中的与所述一个启用的虚拟外围装置兼容的端子之间实施适当的映射。
生成所述设置配置还可以包括:利用参数充实所述设置配置,充实所述设置配置所利用的所述参数针对由所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置构成的每个链接对指定:所述控制模块中的所述相应的一个控制模块的标识,所述相应的端子的模块端子标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的部件端子标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的更新速率,以及对应于所述控制模块中所述相应的一个控制模块的板载存储器的存储器地址。
所述方法还可以包括:将所述设置配置存储在共享存储器中,基于所述更新速率生成总线通信时间表,以及经由所述通信总线将所述总线通信时间表写入所述控制模块中的每一个。
将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的所述相应的端子还可以包括:经由用户接口将所述启用的虚拟外围装置中的每一个与所述一个或更多个控制模块的所述相应的端子相关联。
一种系统,包括:一个或更多个设备和控制系统,所述控制系统包括:主控制器和一个或更多个控制模块,所述一个或更多个控制模块和主控制器一起布置在通信总线中。所述主控制器被配置为:定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;基于所述系统的配置识别一个或更多个启用的虚拟外围装置;经由所述通信总线识别连接在所述控制系统中的所述一个或更多个控制模块。所述控制模块中的每一个均包括用于连接到所述一个或更多个设备的一个或更多个端子。所述主控制器还被配置为将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;生成设置配置,所述设置配置针对所述启用的虚拟外围装置中的每一个表示在所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;以及经由所述通信总线将所述设置配置写入所述控制模块中的每一个。针对所述启用的虚拟外围装置中的每一个,与在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的所述链接一致地将所述相应的设备连接到所述相应的端子。
前一段所述的方法可以可选地包括:附加地和/或替代地,下列特征、配置、操作和/或附加部件中的任何一个或更多个:
所述主控制器可以进一步被配置为:基于对应于所述相应的设备的相应的部件库定义所述虚拟外围装置中的每一个。
所述相应的部件库可以包括:定义用于所述相应的设备的部件参数的部件描述文件,以及定义与所述相应的设备的功能性相对应的功能的源文件,并且,所述主控制器与所述部件描述文件和所述源文件交互,以执行所述功能。
所述部件参数可以包括以下各项中的至少一项:所述相应的设备的标识,表示通向所述相应的设备的输入信号的输入参数,表示来自所述相应的设备的输出信号的输出参数,以及配置设定。
所述设置配置可以是基于对应于所述启用的虚拟外围装置中的每一个的元数据和对应于所述控制模块中的每一个的元数据的。
对应于所述启用的虚拟外围装置中的每一个的所述元数据可以包括:用于所述启用的虚拟外围装置中的每一个的部件端子类型参数,以及用于所述启用的虚拟外围装置中的每一个的部件功率参数,对应于所述控制模块中的每一个的所述元数据可以包括:用于所述一个或更多个控制模块的端子中的每一个的模块端子类型参数,以及用于所述一个或更多个控制模块的端子中的每一个的模块端子功率参数,并且,所述主控制器可以进一步被配置为:将用于所述相应的端子的所述模块端子功率参数和所述模块端子类型参数与由对应于所述启用的虚拟外围装置中的一个的所述部件功率参数和所述部件端子类型参数构成的兼容对进行匹配,以形成在所述相应的端子与所述启用的虚拟外围装置中所述对应的一个启用的虚拟外围装置之间的所述链接。
所述主控制器可以进一步被配置为:将对应于所述启用的虚拟外围装置中的每一个的所述元数据存储在所述数据库中,以及将对应于所述控制模块中的每一个的所述元数据存储在所述数据库中,所述设置配置被存储在所述数据库中,并且,所述数据库的数据库设计在所述一个或更多个启用的虚拟外围装置中的一个虚拟外围装置与所述一个或更多个端子中的与所述一个虚拟外围装置兼容的端子之间实施适当的映射。
所述主控制器可以进一步被配置为:利用参数充实所述设置配置,充实所述设置配置所利用的所述参数针对由所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置构成的每个链接对指定:所述控制模块中的所述相应的一个控制模块的标识,所述相应的端子的模块端子标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的部件端子标识,所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的更新速率,以及对应于所述控制模块中所述相应的一个控制模块的板载存储器的存储器地址。
所述主控制器可以进一步被配置为:将所述设置配置存储在共享存储器中,基于所述更新速率生成总线通信时间表,以及经由所述通信总线将所述总线通信时间表写入所述控制模块中的每一个。
虽然已经参考(多个)示例性实施例描述了本发明,但是本领域的技术人员将理解,在不脱离本发明的范围的情况下,可以进行各种改变并且可以用等同物代替其元件。此外,在不脱离本发明的基本范围的情况下,可以进行许多变型以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的(多个)特定实施例,而是本发明将包括落入随附的权利要求范围内的所有实施例。

Claims (20)

1.一种设置系统的方法,所述方法包括:
定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;
基于过程配置识别一个或更多个启用的虚拟外围装置;
经由通信总线识别连接在所述系统的控制系统中的一个或更多个控制模块,所述控制模块中的每一个均包括用于连接到一个或更多个设备的一个或更多个端子;
经由所述控制系统的主控制器将启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;
生成设置配置,所述设置配置针对所述启用的虚拟外围装置中的每一个表示在所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;
经由所述通信总线将所述设置配置写入所述控制模块中的每一个;以及
针对所述启用的虚拟外围装置中的每一个,与在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接一致地将所述相应的设备连接到所述相应的端子。
2.根据权利要求1所述的方法,其中,定义所述一个或更多个虚拟外围装置还包括:基于对应于所述相应的设备的相应的部件库定义所述虚拟外围装置中的每一个。
3.根据权利要求2所述的方法,其中,所述相应的部件库包括:定义用于所述相应的设备的部件参数的部件描述文件,以及定义与所述相应的设备的功能性相对应的功能的源文件;并且
其中,所述控制系统与所述部件描述文件和所述源文件交互,以执行所述功能。
4.根据权利要求3所述的方法,其中,所述部件参数包括以下各项中的至少一项:
所述相应的设备的标识;
表示通向所述相应的设备的输入信号的输入参数;
表示来自所述相应的设备的输出信号的输出参数;以及
配置设定。
5.根据任一前述权利要求所述的方法,其中,所述设置配置是基于对应于所述启用的虚拟外围装置中的每一个的元数据和对应于所述控制模块中的每一个的元数据的。
6.根据权利要求5所述的方法,其中,对应于所述启用的虚拟外围装置中的每一个的所述元数据包括:
用于所述启用的虚拟外围装置中的每一个的部件端子类型参数;以及
用于所述启用的虚拟外围装置中的每一个的部件功率参数;
其中,对应于所述控制模块中的每一个的所述元数据包括:
用于所述一个或更多个控制模块的所述端子中的每一个的模块端子类型参数;以及
用于所述一个或更多个控制模块的所述端子中的每一个的模块端子功率参数;并且
其中,将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的所述相应的端子还包括:将用于所述相应的端子的所述模块端子功率参数和所述模块端子类型参数与由对应于所述启用的虚拟外围装置中的一个的所述部件功率参数和所述部件端子类型参数构成的兼容对进行匹配。
7.根据权利要求5所述的方法,还包括:
将对应于所述启用的虚拟外围装置中的每一个的元数据存储在数据库中;以及
将对应于所述控制模块中的每一个的所述元数据存储在所述数据库中。
8.根据权利要求7所述的方法,其中,所述设置配置被存储在所述数据库中,并且所述数据库的数据库设计在所述一个或更多个启用的虚拟外围装置中的一个启用的虚拟外围装置与所述一个或更多个端子中的与所述一个启用的虚拟外围装置兼容的端子之间实施适当的映射。
9.根据权利要求1-4中的任一项所述的方法,其中,生成所述设置配置还包括:利用参数充实所述设置配置,充实所述设置配置所利用的所述参数针对由所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置构成的每个链接对指定:
所述控制模块中的所述相应的一个控制模块的标识;
所述相应的端子的模块端子标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的部件端子标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的更新速率;以及
对应于所述控制模块中所述相应的一个控制模块的板载存储器的存储器地址。
10.根据权利要求9所述的方法,还包括:
将所述设置配置存储在共享存储器中;
基于所述更新速率生成总线通信时间表;以及
经由所述通信总线将所述总线通信时间表写入所述控制模块中的每一个。
11.根据权利要求1-4中的任一项所述的方法,其中,将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的所述相应的端子还包括:经由用户接口将所述启用的虚拟外围装置中的每一个与所述一个或更多个控制模块的所述相应的端子相关联。
12.一种系统,包括:
一个或更多个设备;以及
控制系统,所述控制系统包括:
主控制器;以及
一个或更多个控制模块,所述一个或更多个控制模块和主控制器一起布置在通信总线中;
其中,所述主控制器被配置为:
定义一个或更多个虚拟外围装置,以使得所述虚拟外围装置中的每一个对应于相应的设备;
基于所述系统的配置识别一个或更多个启用的虚拟外围装置;
经由所述通信总线识别连接在所述控制系统中的所述一个或更多个控制模块,所述控制模块中的每一个均包括用于连接到所述一个或更多个设备的一个或更多个端子;
将所述启用的虚拟外围装置中的每一个链接到所述一个或更多个控制模块的相应的端子,以在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间形成链接,以使得所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置是链接对;
生成设置配置,所述设置配置针对所述启用的虚拟外围装置中的每一个表示在所述相应的端子与所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的链接;以及
经由所述通信总线将所述设置配置写入所述控制模块中的每一个;并且
其中,针对所述启用的虚拟外围装置中的每一个,与在所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置之间的所述链接一致地将所述相应的设备连接到所述相应的端子。
13.根据权利要求12所述的系统,其中,所述主控制器进一步被配置为:基于对应于所述相应的设备的相应的部件库定义所述虚拟外围装置中的每一个。
14.根据权利要求13所述的系统,其中,所述相应的部件库包括:定义用于所述相应的设备的部件参数的部件描述文件,以及定义与所述相应的设备的功能性相对应的功能的源文件;并且
其中,所述主控制器与所述部件描述文件和所述源文件交互,以执行所述功能。
15.根据权利要求14所述的系统,其中,所述部件参数包括以下各项中的至少一项:
所述相应的设备的标识;
表示通向所述相应的设备的输入信号的输入参数;
表示来自所述相应的设备的输出信号的输出参数;以及
配置设定。
16.根据权利要求12-15中的任一项所述的系统,其中,所述设置配置是基于对应于所述启用的虚拟外围装置中的每一个的元数据和对应于所述控制模块中的每一个的元数据的。
17.根据权利要求16所述的系统,其中,对应于所述启用的虚拟外围装置中的每一个的所述元数据包括:
用于所述启用的虚拟外围装置中的每一个的部件端子类型参数;以及
用于所述启用的虚拟外围装置中的每一个的部件功率参数;
其中,对应于所述控制模块中的每一个的所述元数据包括:
用于所述一个或更多个控制模块的端子中的每一个的模块端子类型参数;以及
用于所述一个或更多个控制模块的端子中的每一个的模块端子功率参数;并且
其中,所述主控制器进一步被配置为:将用于所述相应的端子的所述模块端子功率参数和所述模块端子类型参数与由对应于所述启用的虚拟外围装置中的一个的所述部件功率参数和所述部件端子类型参数构成的兼容对进行匹配,以形成在所述相应的端子与所述启用的虚拟外围装置中所述对应的一个启用的虚拟外围装置之间的所述链接。
18.根据权利要求16所述的系统,其中,所述主控制器进一步被配置为:
将对应于所述启用的虚拟外围装置中的每一个的所述元数据存储在所述数据库中;以及
将对应于所述控制模块中的每一个的所述元数据存储在所述数据库中;
其中,所述设置配置被存储在所述数据库中;并且
其中,所述数据库的数据库设计在所述一个或更多个启用的虚拟外围装置中的一个虚拟外围装置与所述一个或更多个端子中的与所述一个虚拟外围装置兼容的端子之间实施适当的映射。
19.根据权利要求12-15中的任一项所述的系统,其中,所述主控制器进一步被配置为:利用参数充实所述设置配置,充实所述设置配置所利用的所述参数针对由所述相应的端子和所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置构成的每个链接对指定:
所述控制模块中的所述相应的一个控制模块的标识;
所述相应的端子的模块端子标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的部件端子标识;
所述启用的虚拟外围装置中的所述对应的一个启用的虚拟外围装置的更新速率;以及
对应于所述控制模块中所述相应的一个控制模块的板载存储器的存储器地址。
20.根据权利要求19所述的系统,其中,所述主控制器进一步被配置为:
将所述设置配置存储在共享存储器中;
基于所述更新速率生成总线通信时间表;以及
经由所述通信总线将所述总线通信时间表写入所述控制模块中的每一个。
CN202310402809.6A 2022-04-15 2023-04-14 使用虚拟外围装置的系统设置 Pending CN116909948A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/721,479 US11704257B1 (en) 2022-04-15 2022-04-15 System provisioning using virtual peripherals
US17/721,479 2022-04-15

Publications (1)

Publication Number Publication Date
CN116909948A true CN116909948A (zh) 2023-10-20

Family

ID=86007021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310402809.6A Pending CN116909948A (zh) 2022-04-15 2023-04-14 使用虚拟外围装置的系统设置

Country Status (3)

Country Link
US (1) US11704257B1 (zh)
EP (1) EP4261700A1 (zh)
CN (1) CN116909948A (zh)

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032208A (en) 1996-04-12 2000-02-29 Fisher-Rosemount Systems, Inc. Process control system for versatile control of multiple process devices of various device types
US6098116A (en) 1996-04-12 2000-08-01 Fisher-Rosemont Systems, Inc. Process control system including a method and apparatus for automatically sensing the connection of devices to a network
US5980078A (en) 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
JP3576019B2 (ja) 1998-12-28 2004-10-13 株式会社東芝 通信ノード
US6665742B2 (en) 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
DE10339764A1 (de) * 2003-08-27 2005-03-17 Siemens Ag Verfahren zur graphischen Projektierung der Steuerung einer technischen Anlage mit integrierter Projektierung von Bediengeräten, einschließlich einem Projektierungssystem und einem Computerprogrammprodukt
MXPA06006452A (es) 2003-12-08 2006-08-31 Qualcomm Inc Interfase de tasa alta de datos con sincronizacion de enlace mejorada.
US8669988B2 (en) 2004-03-10 2014-03-11 Qualcomm Incorporated High data rate interface apparatus and method
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US7418305B2 (en) * 2005-02-09 2008-08-26 Siemens Corporate Research, Inc. Method of generating a component of a component-based automation system
US7433302B2 (en) 2005-05-04 2008-10-07 Micrel, Inc. Ethernet network implementing redundancy using a single category 5 cable
US8428054B2 (en) 2005-11-14 2013-04-23 Lantronix, Inc. Daisy chaining device servers via ethernet
JP4226620B2 (ja) 2006-08-24 2009-02-18 ファナック株式会社 データ転送方式及びデータ転送装置
CN101067804B (zh) 2007-05-29 2010-04-14 山东大学 一种高速可配置扩展spi总线及其工作方法
JP5407633B2 (ja) 2008-07-28 2014-02-05 株式会社リコー 通信装置及びそれを有する通信システム並びに通信方法
GB2477438B (en) 2008-09-29 2013-04-10 Fisher Rosemount Systems Inc Dynamic user interface for configuring and managing a process control system
US8407707B2 (en) 2009-05-18 2013-03-26 Lsi Corporation Task queuing in a network communications processor architecture
CN102640388B (zh) 2009-12-08 2016-03-09 Abb技术有限公司 I/o模块
JP5408445B2 (ja) 2010-03-15 2014-02-05 オムロン株式会社 プログラマブルコントローラおよびマスタ通信回路
JP5333366B2 (ja) 2010-07-07 2013-11-06 オムロン株式会社 ネットワーク機器および通信モジュール
US8769158B2 (en) 2011-07-08 2014-07-01 Rockwell Automation Technologies, Inc. High availability device level ring backplane
US9535415B2 (en) 2011-07-20 2017-01-03 Rockwell Automation Technologies, Inc. Software, systems, and methods for mobile visualization of industrial automation environments
WO2013062604A1 (en) 2011-10-24 2013-05-02 Le Sant Aurelien System and method for managing industrial processes
CN104285190A (zh) 2012-03-26 2015-01-14 西门子公司 故障安全发现和地址分配
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US20140254431A1 (en) 2013-03-08 2014-09-11 Analog Devices Technology Advanced TDM Daisy-Chain Communication Systems and Devices
US9645572B2 (en) 2013-11-07 2017-05-09 Rockwell Automation Technologies, Inc. Device class information support for multi-option devices
US20160091903A1 (en) 2014-09-30 2016-03-31 Honeywell International Inc. Safety and programmable logic integration system
DE102014119101A1 (de) 2014-12-18 2016-06-23 Phoenix Contact Gmbh & Co. Kg Funktionsanschlusseinheit mit einem Parameterspeicher
US20160205066A1 (en) 2015-01-09 2016-07-14 Texas Instruments Incorporated Unique device address assignment technique for bidirectional daisy chain system
US9960997B2 (en) 2015-03-30 2018-05-01 Rockwell Automation Technologies, Inc. Method and system for data aggregation in an industrial communication protocol
FR3040845B1 (fr) 2015-09-04 2018-05-18 Schneider Electric Industries Sas Methode d'adressage automatique dans une architecture de communication ethernet
EP3166258B1 (en) 2015-11-09 2019-01-02 Airbus Operations GmbH System and method for configuring a network for an aircraft or spacecraft
US10397021B2 (en) 2016-01-29 2019-08-27 Analog Devices, Inc. Synchronous slave-to-slave communications
EP3208670B1 (en) 2016-02-18 2020-04-08 ABB Schweiz AG Storing application information on an automation device
US9768572B1 (en) 2016-04-29 2017-09-19 Banner Engineering Corp. Quick-connector conversion system for safety controller
US10210333B2 (en) * 2016-06-30 2019-02-19 General Electric Company Secure industrial control platform
US10534719B2 (en) * 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
SE542688C2 (en) 2017-07-17 2020-06-23 Beijer Electronics Ab Configuring an industrial automation system for internet-of-things accessibility
SE1751114A1 (en) * 2017-09-13 2019-03-14 Beijer Electronics Ab A method of configuring an automation system
US20190278698A1 (en) * 2018-03-07 2019-09-12 RightHook, Inc. Autonomous Vehicle Simulation And Testing
US10198871B1 (en) * 2018-04-27 2019-02-05 Nicholas T. Hariton Systems and methods for generating and facilitating access to a personalized augmented rendering of a user
US11063850B2 (en) 2018-08-29 2021-07-13 Ati Technologies Uls Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
KR20210102395A (ko) 2018-12-17 2021-08-19 그라코 미네소타 인크. 대형 패킷 데이지 체인 직렬 버스
US10942710B1 (en) * 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11574219B2 (en) * 2019-09-27 2023-02-07 Rockwell Automation Technologies, Inc. System and method for industrial automation rules engine
US11294693B2 (en) * 2020-04-14 2022-04-05 Ncr Corporation Virtualized transaction terminal platform

Also Published As

Publication number Publication date
US11704257B1 (en) 2023-07-18
EP4261700A1 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
US5754779A (en) Selecting a protocol class of service for a network variable
US5490276A (en) Programming language structures for use in a network for communicating, sensing and controlling information
US6446202B1 (en) Process control configuration system for use with an AS-Interface device network
US6449715B1 (en) Process control configuration system for use with a profibus device network
EP3235185B1 (en) Data transfer on an industrial process network
US9667699B2 (en) Method for transmitting data via a CANopen bus
US7984199B2 (en) Configuration of field devices on a network
WO1992016904A1 (en) Binder interface structure
US11546187B2 (en) Large packet daisy chain serial bus
US5878430A (en) Object attribute handler
US6493739B1 (en) Task scheduling in an event driven environment
US7376756B2 (en) HDD firmware download
CN116909948A (zh) 使用虚拟外围装置的系统设置
US20230139123A1 (en) Large packet daisy chain serial bus
CN112035135A (zh) 从站设备的固件程序更新方法、设备和存储介质
US20180323999A1 (en) Method for Configuring Control Units
EP1999523B1 (en) Control and communication system including at least one automation unit
US20150331413A1 (en) Method for Operating a Fieldbus Protocol Capable Field Device
Demirbaş et al. Arm Based Modbus TCP Distributed Input-Output Device Design with Updatable Firmware Via Modbus TCP Communication Protocol
CN111309434A (zh) 参数化现场设备的方法
CN114095303A (zh) 通信设备、数据传输方法及电子设备
JP6002021B2 (ja) スレーブ機器
Simões et al. Use Arduino as a modbus slave over RTU
Please Important Installation Instructions
operation under CoDeSys pbF CoDeSys provided by FESTO and CANopen

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication