CN102004472B - 调整过程控制系统中的控制回路时序的方法和装置 - Google Patents

调整过程控制系统中的控制回路时序的方法和装置 Download PDF

Info

Publication number
CN102004472B
CN102004472B CN201010269146.8A CN201010269146A CN102004472B CN 102004472 B CN102004472 B CN 102004472B CN 201010269146 A CN201010269146 A CN 201010269146A CN 102004472 B CN102004472 B CN 102004472B
Authority
CN
China
Prior art keywords
input signal
time
ranked
process control
control loop
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.)
Active
Application number
CN201010269146.8A
Other languages
English (en)
Other versions
CN102004472A (zh
Inventor
G·K·劳
G·R·谢里夫
M·J·刘易斯
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems 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 Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of CN102004472A publication Critical patent/CN102004472A/zh
Application granted granted Critical
Publication of CN102004472B publication Critical patent/CN102004472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • 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/418Total 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] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25474Synchronize microprocessor with process or I-O
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33097Variable ticks, align clocks, to synchronise cycles with other machine, robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42256Sampling the signal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

公开了调整过程控制系统中的控制回路时序的示例方法和装置。所公开的示例方法包括接收经由过程控制系统内的第一过程控制设备生成的第一输入信号;在过程控制系统内确定该第一输入信号是否在控制回路的第一排定的时间段内被接收;以及在过程控制系统内调整从第一过程控制设备接收的后续的输入信号的时序,以使后续的输入信号在控制回路的后续的排定的时间段内被接收,其中后续的输入信号的时序至少基于第一输入信号何时被接收。

Description

调整过程控制系统中的控制回路时序的方法和装置
技术领域
本公开主要涉及过程控制系统,并且更具体地说,涉及调整过程控制系统中的控制回路时序的方法和装置。
背景技术
用于类似化学、石油、制药、造浆和造纸、或者其他制造过程的过程控制系统,其典型包括的一个或多个过程控制器通信耦合到至少一个主机和一个或多个现场设备,所述主机包括至少一个操作员工作站,而所述现场设备则被配置成经由模拟、数字或者模拟/数字组合的通信协议进行通信。现场设备可以是例如设备控制器、阀门、阀门致动器、阀门定位器、开关和传送器(例如,温度、压力、流速以及化学成分的传感器)或者其组合,而现场设备在过程控制系统内所执行的功能诸如,开关阀门以及测量或推断过程参量。过程控制器接收指示由现场设备做出的过程测量的信号,和/或关于现场设备的其他信息,使用这些信息以实现控制例程,并生成控制信号,该控制信号通过总线或者其他通信线路被发送给现场设备,来控制过程的运作。
典型的过程控制系统被分成由过程控制器所操作的一个或多个控制回路。每个控制回路包括来自一个或多个现场设备的一些输入、控制算法、以及一个或多个输出。这些现场设备中的每一个典型地经由一个或多个I/O卡及其各自的通信路径(例如双线电缆、无线线路或者光纤)耦合到过程控制器。I/O卡从现场设备接收输入,并且将这些输入转发给过程控制器。任何特定控制回路的质量由控制回路及时读取输入改变、执行必要控制计算、以及生成输出信号形式的响应的能力来确定。该输出信号经由I/O卡传送到过程控制系统内的现场设备。在某些情况下,通信路径可能延迟由过程控制器及时接收的输入信号。
专利文献US6864833B2、CN1173240C和US20030103486A1等是本发明的背景技术文献。
发明内容
描述了调整过程控制系统中的控制回路时序的示例方法和装置。公开的示例方法包括接收经由过程控制系统内的第一过程控制设备生成的第一输入信号,并且在过程控制系统内确定所述第一输入信号是否在控制回路的第一排定的时间段内被接收。示例方法还包括在过程控制系统内调整从第一过程控制设备接收的后续的输入信号的时序,以使后续的输入信号在控制回路的后续的排定的时间段内被接收,其中后续的输入信号的时序至少基于第一输入信号何时被接收。
公开的示例装置包括调度器以确定来源于第一过程控制设备的第一输入信号是否在控制回路的第一排定的时间段内被接收,以及在过程控制系统内调整从第一过程控制设备接收的后续的输入信号的时序,以使后续的输入信号在控制回路的后续的排定的时间段内被接收,其中后续的输入信号的时序至少基于第一输入信号何时被接收。
附图说明
图1是示出了示例过程控制系统的方框图。
图2是图1中过程控制系统的示例控制回路的图示。
图3是图2中示例控制回路的时序图。
图4A和4B是时序图,其包括图2中示例控制回路的接收到的输入。
图5是关于控制回路的时序图,其显示响应于给过程控制系统添加第二现场设备的输入信号时序调整。
图6是关于图1和2的控制回路和过程控制系统的消息流图。
图7是在图1和2的过程控制系统内的示例控制器的方框图。
图8A、8B以及9是示例方法的流程图,所述示例方法可以被用来实现图1、2和7的示例控制器、图1和2的示例控制回路、和/或图1和2的示例I/O调度器。
图10是示例处理器系统的方框图,该处理器系统可以被用来实现此处所描述的示例方法和装置。
具体实施方式
虽然以下描述的示例方法和装置包括除了其他组件外在硬件上执行的软件和/或固件,但是应当注意的是,这种系统仅仅是示范性的,并且不应当被视为是限制性的。例如,预计到能够仅仅以硬件,仅仅以软件,或者以硬件和软件的任何组合实施硬件、软件和固件组件中的任何一个或者全部。因此,虽然以下描述了示例方法和装置,但是所提供的示例不是实现这种方法和装置的唯一方式。
现代化的过程控制系统固有地是很复杂的,这是由于涉及了许多组件,其中包括现场设备、布线、通信网络,输入/输出(I/O)采集设备、控制器(例如过程控制器)、中央处理器、I/O卡,等等。现场设备可包括设备控制器、阀门、阀门致动器、阀门定位器、开关和传送器(例如,温度、压力、流速以及化学成分传感器)或者其组合,其执行在过程控制系统内的功能,诸如打开或关闭阀门,以及测量或推断过程参量。控制器接收指示由现场设备做出的过程测量的信号(例如,输入信号),和/或关于现场设备的其他信息,使用这些信息以实现控制例程,并且生成控制信号(例如,输出信号),该控制信号通过总线或者其他通信线路被发送现场设备以控制过程的运作。单个过程控制系统可以包括一个或多个控制器,每个控制器则操作一个或多个控制例程。控制例程包括控制回路,其以预定的间隔被重复。每个间隔是一个控制回路循环。例如,控制例程可以包括持续时间为100毫秒(ms)的控制回路。一旦在100ms之后结束了控制回路循环的话,则例程启动下一个控制回路循环(即,重复控制回路的操作)。
用于创建表现良好的控制回路的方法能够是试错过程,其可受到过程控制系统的拓扑结构、和/或实现于所述过程控制系统的组件的特定类型和特征的影响。另外,控制回路的质量和/或控制回路的响应可受控制回路及时读取由监测性现场设备所生成的输入改变、在控制回路内执行必要控制计算、和生成对相应的控制现场设备输出的能力的影响。
一些已知的过程控制系统在控制回路及时响应输入改变的方面有问题。在控制回路利用来自现场设备的输入之前,典型的过程控制系统被设计成使得输入信号经过若干硬件设备和/或每个硬件设备内的软件层。这些硬件设备和/或软件层中的每一个会给输入信号的传送时间(例如,时延)添加一些延迟。另外,所述传送延迟会随着硬件设备和/或软件层的数量增加而增加。
此外,可能由于在过程控制系统内的动态网络负荷,和/或通过I/O软件模块中的变化而引入所述传送延迟。动态网络负荷和/或软件中的变化可延迟到达控制回路的输入值,和/或导致在该输入值的传送中产生显著的延迟。这样的结果是给控制回路提供旧的数据,这可能导致不正确的校正动作,其能够产生不可靠的或者被调整得不好的控制回路。
此外,传送延迟可能来源于用于工厂的扩展和修改的新的过程控制装备(例如,现场设备)的添加。当新硬件被添加到控制回路时,过程控制系统的动态特性改变。此外,由于新特性和/或错误校正而导致的软件的改变可能变更过程控制系统的动态特性。由于接收到的输入的时序偏离预定的过程控制时间安排,所述过程控制系统的动态特性的改变导致对控制回路时序意外的更改。
一种用于补偿传送延迟的典型解决方案涉及过采样输入信号。例如一些控制回路被配置成以比I/O采集设备的固定扫描速率慢两倍到四倍的速率来运行。然而,这种途径是受限制的,因为I/O采集设备具有最大的吞吐量。此外,现场设备典型地以连续的方式(例如,使用连续寻址)被采样,而不考虑利用输入信号和输出信号的使用者(例如现场设备、控制器,等等)。此外,该途径不会使得时序调整能导致输入信号在控制回路计算相应控制动作之前到达。
此处所描述的示例方法和装置给输入信号提供了自动化的调整,以便使该输入信号在它们在过程控制回路里被利用之前的可接受的排定的时间段内被接收。例如,此处所描述的示例方法和装置可以被用来识别来自温度计(例如,现场设备)的输入信号没有在控制回路计算相应的控制动作之前的在预定(例如,排定的)时间段内由控制器接收。该排定的时间段例如可被定义为控制回路利用输入信号之前的100-200ms。一旦输入信号被识别为未被及时接收,则示例方法和装置可以被用来调整温度输入信号的时序,以便确保所述输入信号在控制回路计算相应控制动作之前的可允许或所需的时间段(例如,100-200ms)内被接收。
在此处所描述的示例方法和装置中,控制器操作控制回路并且识别来自现场设备的、未在预定时间段内被接收的输入信号。所述预定时间段相应于控制回路利用该输入信号的排定的时间之前的时间。所述预定的时间段可以是控制回路的容限(例如,临界值),其依赖于控制回路的执行速率(例如,扫描速率和/或回路循环)。在一些示例中,控制回路可具有为执行一个回路循环总时间的10%的关于回路扫描的容限。在这个例子中,对于具有100ms回路循环的控制回路6ms的偏差可在10ms容限内。然而,60ms的偏差将超过所述10ms的容限。由控制器接收的输入信号源于现场设备,并且传播通过现场接线盒(FJB)、编组柜、I/O卡和/或I/O数据采集模块。控制器通过向I/O数据采集模块发送时序调整消息来控制所接收输入的时序,所述时序调整消息标识在什么时间转发哪一个输入信号给控制器。响应于接收时序调整消息,I/O数据采集模块调整其请求来自相应的现场设备的输入信号的时间、和/或其向控制器转发输入信号的时间。
在图1中,示例过程控制系统100包括经由总线或局域网(LAN)106通信耦合到控制器104的工作站102,局域网106通常被称为区域控制网络(ACN)。LAN 106可使用任何所需的通信媒介和协议来实现。例如,LAN 106可基于硬连线或无线以太网通信协议。然而,能够使用任何其他的适合的有线或无线的通信媒介和协议。工作站102可配置成执行与一个或多个信息技术应用、用户互动应用、和/或通信应用相关的操作。例如,工作站102可以配置成执行与涉及过程控制的应用和通信应用相关的操作,所述通信应用使工作站102和控制器104能够使用任何所需通信媒介(例如无线、硬连线,等等)以及协议(例如HTTP、SOAP,等等)与其他设备或者系统进行通信。
示例控制器104可以配置成执行作为一个或多个控制回路操作的一个或多个过程控制例程和/或功能,该过程控制例程和/或功能由系统工程师或其他系统操作员例如使用工作站102或任何其他工作站生成,并且被下载到控制器104并在其中被实例化。在示出的示例中,工作站102位于控制室108中,并且控制器104位于与控制室108分离的过程控制器区域110中。示例控制器104包括I/O调度器180以管理在过程控制系统100内生成的输入信号和/或输出信号的时序。
在示出的示例中,示例过程控制系统100包括在第一控制区域114中的现场设备112a-c,以及在第二过程控制区域118中的现场设备116a-c。为了在控制器104与现场设备112a-c和116a-c之间进行信息通信,给示例过程控制系统100提供现场接线盒(FJB)120a-b和编组柜122。现场接线盒120a-b中的每一个将来自现场设备112a-c和116a-c中相应的一个的信号路由至编组柜122。编组柜122依次编组(例如,组织、分组,等等)从现场设备112a-c和116a-c接收到的信息,并且将所述现场设备信息路由至控制器104的相应的I/O卡(例如,I/O卡132a-b和134a-b)。在示出的示例中,控制器104与现场设备112a-c和116a-c之间的通信是双向的,使得编组柜122也被用来将从控制器104的I/O卡接收到的信息经由现场接线盒120a-b路由至现场设备112a-c和116a-c中相应的一个。
现场设备112a-c和116a-c可以是现场总线兼容的阀门、致动器、传感器,等等,这种情况下现场设备112a-c和116a-c经由使用熟知的现场总线通信协议的数字数据总线进行通信。当然,可以替代地使用其它类型的现场设备和通信协议。例如,现场设备112a-c和116a-c可以替代地是Profibus、HART、或者AS-i兼容的设备,这些设备经由使用熟知的Profibus、AS-i和HART通信协议的数据总线进行通信。在一些示例实现中,现场设备112a-c和116a-c能够使用模拟的通信或离散的通信来代替数字通信来进行信息通信。另外,通信协议能够用来传送与不同的数据类型相关的信息。
为了在编组柜122中路由与现场设备112a-c和116a-c相关的信息,为编组柜122提供多个终端模块124a-c和126a-c。终端模块124a-c被配置成编组与第一过程区域114中的现场设备112a-c相关的信息,并且终端模块126a-c被配置成编组与第二过程区域118中的现场设备116a-c相关的信息。在替代的示例实现中省略编组柜122,而终端模块124a-c和126a-c能够被安装到现场接线盒120a-b中相应的一个中。在另一个示例实现中,FJB 120a-b可以直接通信耦合到相应的I/O卡132a-b和134a-b。附加地,图1描绘了点到点的配置,其中多导线电缆128a-b中的每个导体或者导体对(例如,总线、双绞线通信媒介、双线通信媒介,等等)传递唯一地与现场设备112a-c和116a-c中相应的一个有关的信息。
为了控制控制器104(和/或工作站102)与现场设备112a-c和116a-c之间的I/O通信,为控制器104提供多个I/O卡132a-b和134a-b。在示出的示例中,I/O卡132a-b被配置成控制控制器104(和/或工作站102)与第一过程区域114中的现场设备112a-c之间的I/O通信,并且I/O卡134a-b被配置成控制控制器104(和/或工作站102)与第二过程区域118中的现场设备116a-c之间的I/O通信。
为了使终端模块124a-c与I/O卡132a-b之间,以及终端模块126a-c与I/O卡134a-b之间能够通信,经由第一通用I/O总线136a将终端模块124a-c通信耦合到I/O卡132a-b,并且经由第二通用I/O总线136b将终端模块126a-c通信耦合到I/O卡134a-b。通用I/O总线136a-b中的每一个被配置成使用相同的通信媒介,传递相应于多个现场设备(例如,现场设备112a-c和116a-c)的信息。例如,所述通信媒介可以是串行总线、双线通信媒介(例如,双绞线)、光纤、并行总线,等等,经由该通信媒介使用例如基于分组的通信技术、多路传送通信技术,等等能够传递与两个或多个现场设备相关的信息。
图1的示例过程控制系统100包括控制器104、I/O调度器180和/或I/O数据采集模块190,以便管理源于现场设备112a-c和116a-c的输入信号的时序。示例I/O数据采集模块190接收来源于现场设备112a-c和116a-c并通过过程控制系统100传播的输入信号。该输入信号可以包括模拟输入数据信号、离散输入数据信号、和/或数字输入数据信号。在某些情况下,终端模块124a-c与126a-c,和/或I/O卡132a-b与134a-b可以将来自现场设备112a-c与116a-c的输入信号变换成数字输入信号类型。现场设备112a-c和116a-c以周期性的间隔生成输入信号,所述周期性的间隔依赖于的配置、设备类型、和/或现场设备正在监控的过程类型。这些输入信号通过FJB 120a-b、终端模块124a-c和126a-c以及I/O卡132a-b和134a-b传播,直到它们到达I/O数据采集模块190为止。
在某些情况下,控制器104可以将一主时间(master time)传递给现场设备112a-c和116a-c。控制器104可从主时间设备(未示出)接收主时间。一旦接收了主时间,则控制器104可以经由I/O数据采集模块190将所述主时间转发到I/O卡132a-b和134a-b。然后I/O卡132a-b和134a-b可以将该主时间转发到相应的现场设备112a-c和116a-c。现场设备112a-c和116a-c可以使用该主时间来以感测到或检测到输入的时间给输入值和/或信号打上时间戳。在现场设备可能不给输入值上打时间戳的示例中,从现场设备接收输入值的I/O卡可以给输入信号打时间戳。为了最小化和/或消除传送主时间的传播时延,控制器104可以在过程控制系统100中的低活动性时间内传送主时间。替代地,控制器104可以传送时间调节消息以补偿已知的传播延迟。
一旦从现场设备112a-c和116a-c接收了输入信号,I/O数据采集模块190确定在某些时间哪写输入信号将被转发到控制器104。替代地,一旦从控制器104接收到请求,I/O数据采集模块190可以将输入信号转发给控制器104。I/O数据采集模块190转发输入信号的时间由控制器104和/或I/O调度器180经由一个或多个时序消息(和/或时序调整消息)传递。I/O数据采集模块190存储包括在时序消息内的时序信息,并且基于该时序信息转发输入信号。另外,所述时序调整消息可导致I/O数据采集模块190更改向现场设备112a请求输入信号的时序。例如,时序信息可指明来自现场设备112a的第一输入信号要在第一排定的时间段内转发,来自现场设备112b的第二输入信号要在第二排定的时间段内转发,并且来自现场设备112c的第三输入信号要在第三排定的时间段内转发。在现场设备112a可能在不同时间发送多个第一输入信号的示例中,I/O数据采集模块190向I/O调度器180转发最近收到(即,最新)的第一输入信号。
在一些示例中,I/O数据采集模块190可以接收不同量的输入信号、输出信号、消息以及其他的流量类型。通过管理哪一个输入信号在相应的排定的时间段内被转发至控制器104,I/O数据采集模块190减少了过程控制系统100内的网络拥塞。此外,如果I/O调度器180确定输入信号没有在排定的时间段内由控制器104接收的话,则I/O调度器180和/或控制器104将时序调整消息发送至I/O数据采集模块190。该消息指明I/O数据采集模块190将转发输入信号至控制器104的新的周期性时间。另外,时序调整消息可能导致I/O数据采集模块190更改向相应的现场设备112a请求输入信号的时序。
除了接收输入信号之外,图1的示例I/O数据采集模块190接收来源于控制器104的输出信号。输出信号包括关于现场设备112a-c和116a-c的控制信息以校正过程控制系统100内的过程。I/O数据采集模块190一旦接收到输出信号可以将该输出信号转发至相应现场设备112a-c和116a-c,和/或可基于优先级转发输出信号。例如,I/O数据采集模块190一旦接收到输出信号可将高优先级输出信号转发至相应现场设备112a-c和116a-c,并且仅在过程控制系统100内网络活动性较低的时间内转发较低优先级的输出信号(例如,与所述控制回路不相关的输出信号)。
示例控制器104从I/O数据采集模块190接收输入信号,并且通过在控制器104内操作的一个或多个控制回路来处理那些输入信号。控制器104内的控制回路利用计算一个或多个控制动作所需的在控制回路内特定时间的某些输入信号。I/O调度器180和/或控制器104管理输入信号的时序,使得控制回路在一个或多个相应的排定的时间段内接收输入信号,每个排定的时间段相应于控制回路要处理每个输入信号的时间段。如果控制器104在其相应的排定的时间段以外接收了输入信号,则I/O调度器180和/或控制器104计算在接收输入信号的时间与排定的时间段内的一时间之间的时间差。
例如,I/O调度器180可以计算在控制器104接收第一输入信号的时间与所述排定的时间段开始、中间和/或结束之间的时间差。替代地,该I/O调度器180可以计算控制器104接收第一输入信号的时间与排定的时间段内任何其他时间之间的时间差。然后,I/O调度器180和/或控制器104将时序调整消息发送至I/O数据采集模块190,以便调整与输入信号相关的后续的输入信号要被转发到控制器104的时间。另外,该时序调整消息可以导致I/O数据采集模块190更改向现场设备请求输入信号的时序。
图1中的示例控制器104使用输入信号计算一个或多个控制动作,并且生成输出信号。控制器104将输出信号转发至I/O数据采集模块190。然后,输出信号被传送到相应的现场设备112a-c和116a-c,其执行计算出的控制动作。
在现场设备被添加到过程控制系统100的情况下,控制器104更新控制回路以并入新的现场设备。这可以包括由过程控制工程师更新控制回路,和/或给控制器104添加另一个控制回路。作为添加新现场设备的结果,I/O调度器180和/或控制器104更新接收输入信号的排定的时间段的时序,以便与控制回路中的改变相对应。然后,I/O调度器180和/或控制器104将一个或多个时序调整消息与新的时序要求一起发送给I/O数据采集模块190。由于这种对输入信号时序的自动更新,尽管添加了另一个现场设备,控制回路依然继续有效率地运行。此外,对输入信号时序的更新不需要过程控制工程师和/或由工作站102所操作的外部优化例程的任何干预就可以发生。在从过程控制系统100移除现场设备的情况下,I/O调度器180和/或控制器104可以用相同的方式调整输入信号时序。
此外,图1中的示例控制器104所包括的功能使得过程控制工程师和/或操作员能够经由工作站102来调整I/O调度器180,以便根据有明显时序过冲或者时序下冲的拓扑结构的需要过滤输入信号的时序校正。输入信号时序的过冲和/或下冲可能是由于在过程控制系统100内的噪声和/或来自过载的过程控制网络的噪声引起的。
此外,控制器104和/或I/O调度器180可以确定在现场设备112a-c和116a-c与控制器104之间通信路径的质量。通信路径的质量可以基于输入信号从现场设备传播到控制器104所需的时间,输入信号内数据的精确度,输入信号内的噪声,和/或由过程控制工程师确定的任何其他标准来确定。
图2显示了图1中示例过程控制系统100,其中包括操作控制回路202的控制器104。图2内的过程组件包括两组反馈回路。第一反馈回路包括现场设备112a和112b。第二反馈回路包括现场设备116a和116b。
在图2的示例中,现场设备112a是控制通过过程控制系统中管道的流体流的阀门,并且现场设备112b是测量管道内流体压力的传感器。阀门112a可包括任何类型的过程控制阀门,并且传感器112b可以包括任何类型的压力传感器,其中包括例如,压阻惠斯通电桥式微机电应力传感压力传感器。传感器112b向I/O卡132a发送包括管道内的流体的压强值的输入信号。在一些示例中,一旦从I/O数据采集模块190发出了请求,则传感器112b可以发送输入信号。该输入信号由控制器104接收,并且经由控制回路202处理。然后控制回路202使用输入信号为阀门112a计算控制动作。控制器104经由输出信号向阀门112a传送该控制动作。阀门112a接收该输出信号,并且基于该输出信号的值改变其位置。
过程控制系统100包括经由LAN 106通信耦合到控制器104的工作站102。控制器104通信耦合到I/O数据采集模块190。I/O数据采集模块190则经由相应的通信路径250和254通信耦合到I/O卡132a和134a。I/O卡132b和134b及其相应的到达I/O数据采集模块190的通信路径未显示在图2中。此外,在其他示例中,I/O数据采集模块190可以经由其他的通信路径通信耦合到其他的I/O卡。I/O卡132a通信耦合到现场设备112a和112b(例如,过程控制设备)。相类似地,I/O卡134a通信耦合到现场设备116a(例如,阀门)和116b(例如传感器)。
图2的示例控制器104包括控制回路202和I/O调度器180。在其他示例中,控制器104可以包括I/O数据采集模块190。此外,I/O数据采集模块190可以在控制器104内被实现为硬件,和/或存储在机器可访问的媒体上的过程可执行指令。在另一个示例中,I/O数据采集模块190可以被实现在I/O卡132a和132b内。
I/O调度器180和/或控制器104管理来源于传感器112b和116b的输入信号的时序。I/O调度器180在控制回路202的每个排定的时间段内将输入信号转发至控制回路202。例如,控制回路202包括其间控制器104要接收来源于传感器112b的输入信号的排定的时间段,以及其间控制器104要接收来源于传感器116b的输入信号的排定的时间段。预定义这些排定的时间段,使得控制回路202在控制回路202利用和/或处理输入信号中的每一个之前,从相应的传感器112b和116b接收该输入信号中的每一个。
示例控制回路202包括输入信号处理器或者功能块(AI)210,比例-积分-微分控制动作计算器或者功能块(PID)212,以及输出信号生成器或功能块(AO)214。控制回路202内的控制算法和/或例程从AI 210接收输入信号,使用PID 212处理输入信号,并且经由AO214生成输出信号。单个控制回路循环可以包括多个例程和/或控制算法。在其他的示例中,控制回路202可以包括其他类型的AI、PID、和/或AO。此外,其他的示例可以包括AI 210、PID 212、和/或AO 214中的每一个的多个。
AI 210从I/O调度器180接收输入信号,并且针对在PID 212内的处理配置该输入信号。I/O调度器180在关于每个输入信号的排定的时间段内将输入信号转发到AI 210。在输入信号需要通过控制回路202处理的排定的时间段开始之前由I/O调度器180接收输入信号的例子中,I/O调度器180会延迟输入信号的转发,直到排定的时间段为止。在其他情况下,当I/O调度器180在排定的时间段结束时未接收到输入信号时,AI 210可以利用之前从相同现场设备发送的输入信号。此外,当I/O调度器180在相应排定的时间段内未接收到输入信号时,I/O调度器180和/或控制器104计算接收到输入信号的时间与其相应的排定的时间段(例如,在其排定的时间段的开始或中间)之间的时间差。然后,I/O调度器180和/或控制器104将时序调整消息发送至I/O数据采集模块190,调整来自相同现场设备的后续的输入信号的时序,以便I/O调度器180在适当的排定的时间段内接收输入信号(即当例如执行控制回路202时,需要由控制器104处理信号的时间之前的时间段)。在其他示例中,I/O调度器180和/或控制器104可以将一个或多个时序调整消息发送至I/O数据采集模块190以增量调整来自相同现场设备的后续的输入信号的时序,以便避免所接收输入信号时序中的过冲。
在图2的示例实现中,传感器112b每5ms传送一高压输入信号。在一些示例中,I/O数据采集模块190可按5ms的重复循环就输入值对传感器112b进行轮询。传感器112b生成第一高压输入信号,并将第一高压信号传送至I/O数据采集模块190。五毫秒后,传感器112b生成第二高压输入信号,之后再过5ms传感器112b生成第三高压输入信号,等等。I/O数据采集模块190接收第一高压信号,并确定何时将该信号转发至I/O调度器180。该示例中,控制回路202以100ms的固定循环进行操作。在进入控制回路循环的第20ms,控制回路202利用高压信号计算控制动作。因此,控制调度例如可指明该高压输入信号应在排定的时间段内到达,所述排定的时间段是从进入控制回路循环第16ms开始,并且于进入控制回路循环第20ms结束。因此,I/O数据采集模块190在进入控制回路循环第16ms到第20ms之间的4ms的排定的时间段内,将最新的高压信号转发至控制回路202。
一旦接收到最新的高压信号,控制回路202为阀门112a计算控制动作。例如,高压输入信号可指明1805巴的压强值。PID 212随后可将该值与1700巴的被定义临界值进行比较。然后,超过临界值的105巴的压强差可以导致PID 212计算控制动作以打开阀门112a,以便将管道中的压强降低到1700巴以下。这种所计算的控制动作被提供在由AO 214生成的输出信号内,并被传送至阀门112a。一旦接收到输出信号,则打开阀门112a以降低管道内的压强。
如果I/O调度器180在4ms的排定的时间段之前(例如,在进入控制回路循环第10ms)接收到最新的高压信号,则I/O调度器180将该信号转发至控制回路202。另外,I/O调度器180和/或控制器104计算从接收到高压输入信号到排定的时间段的时间差(例如,6-10ms之间的任何时间),并且可以将时序调整消息发送至I/O数据采集模块190以按6-10ms更改对一个或多个后续的高压信号的采集。时序调整消息也可指明I/O数据采集模块190向传感器112b请求高压信号的延迟时间。
如果I/O调度器180在排定的时间段之后8ms(例如,进入控制回路循环第28ms)从I/O数据采集模块190接收第一高压信号,则控制回路202改为处理进入控制回路循环第20ms之前最新接收的高压输入信号。另外,I/O调度器180和/或控制器104计算在接收高压输入信号的时间和排定的时间段之间的时间差(例如,8-12ms之间的任何时间),并且将时序调整消息发送至I/O数据采集模块190以导致一个或多个后续的高压信号被早8-12ms发送或转发。
附加地或替代地,I/O调度器180和/或控制器104可使用最近确定的时间差和关于之前高压信号的之前确定的时间差来计算平均时间差,以确定多个高压信号已在各自的排定的时间段之后被接收。I/O调度器180和/或控制器104可随后给I/O数据采集模块190发送一个或多个时序调整消息,以便增量校正后续的高压输入信号的时序。一旦校正了输入信号的时序,则I/O数据采集模块190可随后在适当的排定的时间段内将第二高压输入信号转发至I/O调度器180。
此外,在图2的示例中,传感器116b一旦收到来自I/O数据采集模块190的请求每15ms传送一低压输入信号。控制回路202可在进入控制回路循环第40ms利用低压输入信号来计算控制动作。以相类似的方式,I/O调度器180管理低压输入信号的时序以确保控制器104在规定的排定的时间段内接收信号,在该排定的时间段内,所述输入信号需要由执行控制回路202的控制器104来处理。替代地,控制器104可以在排定的时间段从I/O调度器180请求低压信号。
图3是图2中示例控制回路202的时序图300。示例时序图300显示了在控制回路202内对来自第一现场设备(例如,图1和2中的现场设备112b)的第一输入信号,以及来自第二现场设备(例如,图1和2中的现场设备116b)的第二输入信号的时序要求。该时序要求可通过控制调度指定,和/或由过程控制工程师配置。该时序图300包括时序轴302。示例时序轴302可以以纳秒、微妙、毫秒、秒和/或分钟为单位显示关于控制回路的时序。示例时序图300显示第一控制回路循环304和第二控制回路循环306。而一个或多个额外的控制回路循环则可以在第一控制回路循环304之前。
第一控制回路循环304以第一循环时间310开始,并且以第二循环时间312结束。第二控制回路循环306以第二循环时间312开始,并且以第三循环时间314结束。第二循环时间312与第一循环时间310之间的时间差和第三循环时间314与第二循环时间312之间的时间差是相同的。换句话说,第一控制回路循环304的持续时间和第二控制回路循环306的持续时间是相同的。在第一控制回路304和第二控制回路306内所处理的例程、控制算法和/或控制动作是相类似的。此外,在第一控制回路304内所处理的例程、控制算法和/或控制动作的时序和第二控制回路306内的时序是相类似的。
图3的示例时序图300包括第一时间320,其相应于图2的控制回路202利用第一输入信号的时间。时序图300还包括第一排定的时间段330。第一排定的时间段330是关于控制回路202接收第一输入信号的指定的、预定的或者排定的段。I/O调度器180根据需要调整第一输入信号的时序,使得第一输入信号在排定的时间段330内由控制回路202接收。在一些示例中,I/O调度器180可以根据来自控制器104的请求将第一输入信号转发至控制回路202。第一输入信号可以在第一排定的时间段330内的任何时间(例如,第三时间)上由控制回路202接收。在这个例子中,第一排定的时间段330以第一时间320结束,并具有由过程控制工程师指定、和/或由图1和2中控制器104内的时序标准所配置的持续时间。第一排定的时间段330的开始时间相应于第四时间。在其他示例中,第一排定的时间段330可在第一时间320之前的某时间结束。
示例时序图300包括第二时间322,图2中的控制回路202在该时间生成使用第一输入信号经由控制动作计算出的第一输出信号。第二排定的时间段332指明一排定的时间段,在该排定的时间段内控制回路202传送第一输出信号。第二排定的时间段332的持续和开始时间可由过程控制工程师指定,和/或由控制器104内的时序标准来配置。替代地,第二时间322可能在与第一时间320实质上相同的时间出现。在该替代的示例中,第二排定的时间段332可出现在第一时间330之后。
在其他示例中,时序图300可包括其他的带有相应的排定的时间段的输入信号。另外,如果控制回路相对同时地利用不同的输入信号的话,则控制器104可请求I/O调度器180在相同时间转发输入信号。替代地,如果控制回路相对不同时地利用不同的输入信号的话,则控制器104可请求I/O调度器180在特别指定的时间转发输入信号。
因为第一控制回路循环304和第二控制回路循环306的时序相类似,则第一控制回路循环304中的时间320和322和/或排定的时间段330和322的关系或时序与第二控制回路循环306是相类似的。对于额外的控制回路循环(未示出)而言,时间320和322和/或排定的时间段330和332的时序也是相类似的。
图4A是图2中示例控制回路202的时序图400。示例时序图400显示可被用来计算离相应的排定的时间段422a-d的平均偏差时间的输入信号430-436。输入信号430-436源于相同的现场设备(例如,传感器112b)。时序图400包括时序轴401、第一控制回路循环402、第二控制回路循环404、第三控制回路循环406、以及第四控制回路循环408。时序图400还包括第一循环时间410、第二循环时间412、第三循环时间414、第四循环时间416、以及第五循环时间418。为清晰起见,相关的输出信号未被示出。另外,示例时序图400可包括额外的控制回路循环以及相应的循环时间(未示出)。
示例时序图400包括第一时间420,其相应于图2中的控制回路202利用第一输入信号430的时间。时序图400包括排定的时间段422a,其为关于控制回路202接收第一输入信号430的指定的、预定的和/或排定的时间段。第一时间420和排定的时间段422a在控制回路循环404-408中的每一个内在实质上相同的时间被重复。时序图400除了显示了第一控制回路循环402内的第一输入信号430之外,还显示第二输入信号432在第二控制回路循环404内被接收,第三输入信号434在第三控制回路循环406内被接收,并且第四输入信号436在第四控制回路循环408内被接收。
在第一控制回路循环402期间,第一输入信号430在排定的时间段422a内被接收。然而,第二、第三和第四输入信号432、434和436却不在相应的控制回路循环404-408内的排定的时间段422b-d内被接收。特别地,第二输入信号432稍晚于排定的时间段422b被接收,第三输入信号则在接近第三控制回路循环406结束处被接收,并且第四输入信号436在近似在第四控制回路循环408的中间处被接收。
图1和2中示例控制器104和/或I/O调度器180可以对输入信号430-436被接收时间与其相应排定的时间段422a-d之间时间差取平均值。如果平均时间指明输入信号430-436未在相应的排定的时间段422a-d内被接收,则控制器104和/或I/O调度器180可以调整时序,使得后续的输入信号在排定的时间段422a-d内被接收。然而,如果平均时间指明输入信号430-436在相应的排定的时间段422a-d内被接收,则控制器104和/或I/O调度器180可不调整后续的输入信号的时序。通过取得输入信号430-436被接收时间的平均值,控制器104和/或I/O调度器180确保不会基于在排定的时间段以外接收仅一个或两个输入信号而过度调整接收输入信号的时间。在一些示例中,控制器104和/或I/O调度器180可以为来自现场设备的所有被接收的输入信号求平均值,或者替代地,可计算最近被接收的输入信号(例如,最近十个输入信号)的移动平均值。
然而,在一些示例中,一旦检测到单个输入信号偏离排定的时间段,过程控制工程师可能需要调整后续的输入信号。例如,一旦检测到在第二控制回路循环404内的排定的时间段422b期间未接收到第二输入信号432,控制器104和/或I/O调度器180可调整关于输入信号434和436的输入时序。
包括了示例输入信号480-488的图4B是图2中控制回路202的时序图450。示例时序图450显示了图1和2中的控制器104和/或I/O调度器180可以如何调整输入信号时序,使得后续的输入信号在指定的排定的时间段422e-h内由控制器104接收。时序图450显示了来源于单个现场设备(例如,来自图1和2中现场设备112b的高压输入信号)的输入信号480-488。此外,时序图450显示输入信号480-488在其由控制器104内的控制回路202接收时的时序。在其他示例中,时序图450可包括来自相同现场设备的其他类型的输入信号(例如,温度输入信号、湿度输入信号,等等),和/或来自多个其他现场设备的输入信号。
图4B中的示例时序图450包括时序轴401、第一时间420以及与图4A中的排定的时间段422a-d相类似的排定的时间段422e-h。另外,图4B中的时序图450包括控制回路循环452-458,其可以出现在图4A中控制回路循环402-408之后的某个时间。另外,时序图450包括循环时间460-468,其与相应的控制回路循环452-458有关。为清晰起见,并且因为输出信号的时序可不受相应输入信号被接收的时间的影响,所以未示出输出信号。
从图4A的时序图400中,示例控制器104和/或I/O调度器180计算输入信号430-436在排定的时间段422e-h以外的平均偏差时间上被接收。图4B中的示例时序图450显示在时间470时序调整消息从I/O调度器180被传送至I/O数据采集模块190。作为接收时序调整消息的结果,I/O数据采集模块190调整其从现场设备请求后续的输入信号的时序,或者替代地,将后续的输入信号转发至控制器104的时序。
示例时序图450显示I/O采集模块190增量调整后续的输入信号480-488的时序。例如,相比于在控制回路循环454内被接收的输入信号482以及在控制回路循环488内被接收的输入信号484,输入信号480在控制回路循环452内离第一时间420更远地被接收。到了控制回路循环458时,I/O数据采集模块190已经将时序调整成使得输入信号488在排定的时间段422h内由控制器104接收。其他示例中,使输入信号在相应的排定的时间段内被接收的调整可能要求更多或更少的控制回路循环。通过增量调整时序调度,I/O数据采集模块190确保输入时序(例如,输入信号480-488和/或后续的输入信号的接收)不会过冲所述排定的时间段。
另外,示例时序图450显示时序调整消息在时间470被发送。在其他示例中,时序调整消息可以在每个控制回路循环452-458中被发送到I/O数据采集模块190,直到输入信号在排定的时间段422e-h中被接收为止。在其他示例实现中,一旦控制器104和/或I/O调度器180确定时序调整消息要被发送至I/O数据采集模块190,则I/O数据采集模块190可以调整后续的输入信号的时序,使得下一个输入信号在排定的时间段内由控制器104接收。以这种方式,I/O数据采集模块190不增量调整所述时序就可以调整要在下一个排定的时间段内被接收的输入信号的时序。因此,I/O数据采集模块190例如可调整输入信号480的时序,使得其在排定的时间段422e内由控制器104接收。
图5是关于显示了输入信号时序调整的控制回路的时序图500,所述输入信号时序调整是响应于给过程控制系统添加第二现场设备。时序图500包括时序轴502,其类似于图3的时序轴302。另外,示例时序图500包括第一控制回路循环504、第二控制回路循环506、以及第三控制回路循环508。控制回路循环504-508具有相同的排定的时间段。第一控制回路循环504以第一时间循环510开始,并以第二时间循环512结束。第二控制回路循环506以第二时间循环512开始,并以第三时间循环514结束。第三控制回路循环506以第三时间循环514开始,并以第四时间循环516结束。
第一控制回路循环504显示用于控制回路的被适当定时的例程和/或控制算法。在第一控制回路循环504内,控制回路包括的第一时间520相应于该控制回路针对来源于第一现场设备的第一输入信号530进行处理和/或计算控制动作的时间。第一输入信号530在第一排定的时间段522a内由控制器104接收。接着,在控制器104利用第一输入信号530计算控制动作后,控制器104可在第一时间520内和/或在第一时间520之后的某个时间上生成输出信号。为清晰起见,并且因为输出信号可能不会受输入信号的时序影响,所以输出信号在图5中未示出。另外,第一时间520和排定的时间段522a在每个控制回路循环506和508中以实质上相同的时间被重复。
第二控制回路循环506显示给过程控制系统添加第二现场设备。控制器104接收源于被新近添加的第二现场设备的第二输入信号540。在这个例子中,第二现场设备被添加到控制回路的时间不够久,以致于图1和2的I/O调度器180还没有调整关于来源于第二现场设备的第二输入信号540的时序。
第二输入信号540在第二控制回路循环506内的排定的时间段522b以外被接收。时序图500显示与第一现场设备相关的、并且在第二控制回路循环506中的排定的时间段522b内被接收的第一输入信号532未受第二现场设备的添加的影响。然而,在其他示例中,第一输入信号532可能会受到第二现场设备的添加的影响,并且可能在排定的时间段522b之前或之后由控制器104接收。
另外,示例时序图500将排定的时间段522b显示为第一和第二输入信号532和540要被控制器104接收的时间。关于第一和第二输入信号的共同的排定的时间段522a-c是控制器104的结果,该控制器104可包括在例程的一个时间段(例如,在执行例程特定部分期间)内访问和/或读取来自所有相应的现场设备的输入信号的例程。然而,在其他示例中,控制器104可包括其他排定的时间段以接收不同的输入信号。在这些其他的示例实现中,第二排定的时间段可被包括在第二控制回路循环内,该第二控制回路循环指定图5中的第二输入信号540应当何时被接收。
在图5的第二控制回路循环506内,I/O调度器180确定第二输入信号540在排定的时间段522b之后被接收。I/O调度器180计算第二控制回路循环506中的排定的时间段522b与第二输入信号540被接收的时间之间的时间差。I/O调度器180和/或控制器104可计算控制器104接收第二输入信号540的时间与排定的时间段522b的开始、中间和/或结束之间的差。替代地,I/O调度器180和/或控制器104可以计算控制器104接收第二输入信号540的时间与排定的时间段522b内任何时间之间的差。I/O调度器180和/或控制器104随后将包括了所计算出的时间差的时序调整消息传送至图1和2中的I/O数据采集模块190。一旦接收到时序调整消息,I/O数据采集模块190调整其用于转发和/或请求来源于第一现场设备的输入信号的时序。
示例时序图500指明一旦检测到第二输入信号540在排定的时间段522b内未被接收,则控制器104和/或I/O调度器180发送时序调整消息。然而,在其他示例中,控制器104和/或I/O调度器180可编译来自第二现场设备的后续的输入信号的时间差,以便确定平均时间偏差是否在相应的排定的时间段522以外。如果平均偏差时间在排定的时间段522以外,则控制器104和/或I/O调度器180可将时序调整消息传送至I/O数据采集模块190。
在图5的示例中,I/O数据采集模块190在第三控制回路循环508开始之前,为来源于第二现场设备的输入信号调整时序。在其他示例中,I/O数据采集模块190可在后续的控制回路循环上增量调整来自第二现场设备的后续的输入信号的时序。在第三控制回路循环508内,控制器104在排定的时间段522c内接收来源于第一现场设备的输入信号534。此外,控制器104在排定的时间段522c内接收来源于第二现场设备的输入信号542。一旦添加第二现场设备,作为I/O调度器180调整来自第二现场设备的输入信号时序的结果,控制回路在第二现场设备被添加的一个控制循环内适当地定时。在其他示例中,I/O调度器180可能直到第二现场设备被添加以后的两个或多个控制回路循环才使输入信号被适当调整。
图6是关于图1和2中控制回路202和过程控制系统100的消息流图600。该示例消息流图600显示通过过程控制系统100传播的输入信号604和608、时序调整消息606和612、以及输出信号610。该消息流图600包括图1和2的控制器104、调度器180、I/O数据采集模块190、I/O卡132a、以及现场设备112a-b。另外,该消息流图600包括系统时钟601。该示例系统时钟601可被包括在工作站102和/或控制器104内。
图6的示例消息流图600按时间顺序下行。虽然消息流图600包括了一些信号和消息,但是消息流图600没有示出过程控制系统100内的所有可能的信号和/或消息。在其他示例中,控制器104、I/O调度器180、I/O数据采集模块190和/或I/O卡132a可传送确认消息、唤醒消息、查明消息、睡眠消息、状态消息和/或任何类型的消息,这些消息通常在过程控制系统和/或网络中被传送。
示例消息流图600以系统时钟601传送当前时间消息602为开始。该当前时间消息602可以包括主时间和/或对主时间的更新。当前时间消息602由控制器104、I/O数据采集模块190以及I/O卡132a所接收。在其他示例中,现场设备112a-b可接收当前时间消息602。作为接收到当前时间消息602的结果,控制器104、I/O数据采集模块190和I/O卡132a以相同的时序方案操作,这使得每个设备能够在指定的排定的时间段内转发和/或接收输入信号。另外,当前时间消息602使得控制器104、I/O数据采集模块190和I/O卡132a能够针对给输入信号打时间戳和/或用时间戳处理输入信号同步。
一旦接收到当前时间消息602,I/O调度器180将初始时序消息606传送至I/O数据采集模块190。该初始时序消息606包括让I/O数据采集模块190将来自现场设备112b的打有时间戳的输入信号608转发至控制器104的时间。在其他示例中,初始时序消息可包括关于来源于其他现场设备的输入信号的时间。I/O调度器180使用控制调度和/或通过监控在控制器104中运作的控制回路内的例程和/或控制算法,来为打有时间戳的输入信号608确定时序。一旦接收到初始时序消息606,则I/O数据采集模块190在指定的排定的时间段内开始转发来源于现场设备112b的打有时间戳的输入信号604。
现场设备112b根据来自控制器104(未示出)的请求,通过过程控制系统100将周期性的输入信号604传送至I/O卡132a。现场设备112b发送独立于控制回路时序的输入信号604。输入信号604的时序可以由过程控制工程师指定、可以被设计到现场设备112b中、和/或可以通过设定过程控制系统100的配置例程来确定。一旦接收到输入信号604,I/O卡132a将输入信号604转发至I/O数据采集模块190。I/O卡132a在不同于I/O卡132接收来自现场设备112b的输入信号604的排定的时间段的排定的时间段将输入信号604转发至I/O数据采集模块190。在这些排定的时间段中的差异可以由在I/O卡132a内关于从其他现场设备接收输入信号、和/或关于将输出信号610传送至现场设备112a和/或其他现场设备的处理可用性所导致。
一旦接收到第一输入信号604,I/O数据采集模块190给输入信号604打时间戳690,并且将打了时间戳的输入信号608传送至控制器104。在图6的示例中,I/O数据采集模块190仅给在指定的排定的时间段内被转发至控制器104的输入信号604打时间戳690。如果I/O数据采集模块190在排定的时间段之前接收到多个输入信号604,则I/O数据采集模块190选择最新接收的输入信号604。I/O数据采集模块190忽视和/或删除其他之前接收到的输入信号。在其他示例中,I/O卡132a和/或现场设备112b可以在输入信号604被发送到I/O数据采集模块190之前给输入信号604打时间戳。
一旦接收到打了时间戳的输入信号608,I/O调度器180确定打了时间戳的输入信号608是否在控制回路的排定的时间段内被接收(块692),所述排定的时间段相应于所述控制回路利用和/或处理打了时间戳的输入信号608之前的时间。排定的时间段692可以是所述控制回路中指定的、接收打了时间戳的输入信号608的临界值和/或容限。在图6的示例中,I/O调度器180在控制回路的排定的时间段内接收打了时间戳的输入信号608(块692)。另外,控制回路处理(块692)打了时间戳的输入信号608并且生成输出信号610。随后,输出信号610从控制器104被传送至I/O数据采集模块190,该I/O数据采集模块190则将输出信号610转发至I/O卡132a,其随后将输出信号610转发至现场设备112a。输出信号610被显示为,一旦接收到该输出信号610就由I/O数据采集模块190和I/O卡132a转发。然而,在一些示例中,I/O数据采集模块190和/或I/O卡132a接收到输出信号和转发输出信号610之间会有一定时间。
在第二个实例中,I/O调度器180接收打了时间戳的输入信号608,I/O调度器确定(在椭圆650处)打了时间戳的输入信号608在控制回路的排定的时间段之前被接收(例如,块692)。作为打了时间戳的输入信号608早到达的结果,I/O调度器180计算接收打了时间戳的输入信号608与排定的时间段之间的时间差(在块692),并且将时序调整消息612发送至I/O数据采集模块190。一旦接收到时序调整消息612,则I/O数据采集模块190调整其用于传送后续的被打了时间戳的输入信号608的时序。另外,一旦接收到时序调整消息612,则I/O数据采集模块190调整其用于向现场设备112b请求后续的输入信号604的时序。在I/O数据采集模块190被包括在I/O卡132a内的示例中,时序调整消息612从I/O调度器180被发送至I/O卡132a。
替代地,I/O调度器180和/或控制器104可以继续接收打了时间戳的输入信号608,以确定所接收的信号608的平均时间是否始终如一地在排定的时间段692以外。如果I/O调度器180和/或控制器104确定打了时间戳的输入信号608的平均值在排定的时间段692以外,则I/O调度器180和/或控制器104可以将增量时序调整消息转发至I/O数据采集模块190,来调整后续被打了时间戳的输入信号608的时序。该示例消息流图600以I/O数据采集模块190在相应的排定的时间段内、在控制回路利用打了时间戳的输入信号608之前传送最后两个打了时间戳的输入信号608(例如,最后两个块692)来结束。
图7是图1和2中示例控制器104的详细方框图。图7的示例控制器104未包括I/O数据采集模块190。然而,在其他示例实现中,控制器104可包括I/O数据采集模块190,其作为分离的功能块和/或作为被包括在功能块702和708中的一个或多个内的功能块。附加地或者替代地,示例控制器104可包括用于与图1的过程控制系统100内的其他控制器通信的功能块。
为了从图1的I/O数据采集模块190和/或I/O卡接收输入,图7的示例控制器104包括输入信号接收器702(例如,接收器)。输入信号接收器702接收由I/O调度器180处理的数字信息。数字信号可包括从I/O数据采集模块190和/或I/O卡132a-b和134a-b转发的信息。在一些示例中,输入信号接收器702可基于来自I/O调度器180的请求向I/O数据采集模块190请求输入信号。
示例输入信号接收器702还可以给所接收的输入信号打时间戳,并且通过被转发到I/O调度器180的数字信息包括时间戳。所述时间戳指明控制器104何时接收输入信号。另外,在一些示例实现中,输入信号接收器702可将给I/O调度器180的输入信号排队。输入信号接收器702可将所述输入信号排队,直到在I/O调度器180可供用于处理输入信号时为止,和/或在由过程控制工程师所定义的特定的排定的时间段为止。
在图7的示例中,输入信号接收器702经由通信路径734通信耦合到I/O数据采集模块190。示例通信路径734可使用任何协议操作,所述协议包括以太网、通用串行总线(USB)、IEEE 1394,等等。替代地,通信路径734可以无线地通信耦合到I/O数据采集模块190,并能够通过使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)实现。
为了管理用于I/O调度器180的主时间,图7的示例控制器104包括系统时钟管理器704。该示例系统时钟管理器704接收用于图1中过程控制系统100的主时间的更新。所述主时间是用于过程控制系统100内可由工作站102管理和/或设定的所有组件的共同时间。在其他示例中,示例系统时钟管理器704可管理和/或设定用于过程控制系统100的主时间。
主时间可以是用于过程控制系统100内可与控制回路(例如,图2中的控制回路202)相关的所有组件的共同时间。通过使过程控制系统100内的组件根据相同的主时间来操作,I/O调度器180能够管理输入信号的时序,而不必补偿每个组件之间的时钟差异。此外,通过拥有用于整个过程控制系统100的共同时钟,或替代地拥有用于控制器104以及通信耦合的现场设备的共同时钟,由现场设备所生成的打有时间戳的数据能够由I/O调度器180处理,而没有时序错误或者无需补偿时钟差异。例如,如果现场设备112a使用不同于控制器104的主时间,当通过I/O调度器180分析时,现场设备112a的打时间戳的任何数据将具有不同的参考时间。这种时钟的差异可扭曲(skew)计算出的输入信号从现场设备112a传播到控制器104的时间,从而扭曲感知的通信路径质量。
图7的示例系统时钟管理器704经由LAN 106从工作站102接收主时钟时间的更新。系统时钟管理器704可包括由硬件、固件、机器可读-可访问媒介和/或用于操作系统时钟的任何其他类型的组件控制的时钟。在一些示例中,系统时钟管理器704可管理主时钟时间、发送更新、和/或经由主时钟消息将主时间传送至图1中过程控制系统100内的组件。另外,系统时钟管理器704为I/O调度器180提供主时间。
示例系统时钟管理器704可经由通信路径732传送主时间和/或对主时间的更新。该通信路径732可经由图1中的通用I/O总线136a-b和/或多导线电缆128a-b被耦合到I/O数据采集模块190、I/O卡132a-b和134a-b、编组柜122、FJB 120a-b、和/或现场设备112a-c和116a-c。此外,通过为I/O采集模块190提供控制器104的主时间的更新,I/O采集模块190可在分配给每个输入信号的控制回路的排定的时间段内将输入信号传送至控制器104。
系统时钟管理器704可根据来自I/O调度器180的指令,以周期性的间隔传送主时钟时间和/或对主时间的更新。对主时钟的更新可基于既定的标准,其中包括国家定时协议和/或电气和电子工程师协会的关于同步时钟的1588-2002标准。例如,I/O调度器180可确定来自一些现场设备的输入信号始终如一地是迟到的。作为结果,I/O调度器180可将消息发送至系统时钟管理器704以刷新主时钟。一旦接收到该消息,系统时钟管理器704将主时钟消息和/或更新消息发送至过程控制系统100内的组件。
为管理输入信号的时序,图7的示例控制器104包括I/O调度器180(例如,调度器)。示例I/O调度器180确定来源于现场设备112a-c和116a-c(例如,过程控制设备)的输入信号是否在控制回路处理器706上操作的控制回路的排定的时间段内被接收。如果任何输入信号在排定的时间段以外被接收,则示例I/O调度器180确定使输入信号在排定的时间段内被接收所需的时序调整。另外,一旦确定用于输入信号的调整时间,I/O调度器180将时序调整消息发送至I/O数据采集模块190,以调整其转发和/或请求与受影响的输入信号相关的后续的输入信号的时序。所述时序调整消息可以包括任何模拟信号、离散信号或者数字信号以传达时序调整信息。
排定的时间段和/或控制回路的时序可在控制调度内被指定,而所述控制调度则存储在调度数据库722内。为了更新控制调度,I/O调度器180可周期性地访问调度数据库722。另外,I/O调度器180可将控制调度发送至控制回路处理器706,使得控制回路处理器706可根据该控制调度来配置控制回路例程。在其他的示例实现中,控制回路和/或例程可在控制回路处理器706中由过程控制工程师设定。在这种情况下,I/O调度器180可编译来自控制回路的控制调度,并将控制调度存储在调度数据库722中。示例I/O调度器180针对由工作站102或者由过程控制工程师对控制回路所做出的任何后续的改变而调整控制调度。控制调度包括控制回路内控制动作的时序(例如,利用输入信号内的信息),接收对于控制动作中每一个的输入信号的时段,以及为每个控制动作生成输出的时间。
为了存储用于I/O调度器180的控制调度,示例控制器104包括调度数据库722。图7的示例调度数据库722可由EEPROM、RAM、ROM、和/或任何其他类型的存储器实现。除了存储控制调度以外,调度数据库722可存储用于I/O调度器108的临界值以识别过程控制系统100内的时延。
过程控制工程师可经由通信路径740更改调度数据库722,和/或为调度数据库722添加新的控制调度。通信路径740可包括LAN 106。示例通信路径740可用以太网、通用串行总线(USB)、IEEE 1394,等等实现。替代地,通信路径740可无线地通信耦合到工作站102和/或任何其他的工作站,并且能够通过使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)实现。
图7的示例I/O调度器180监控控制回路处理器706内控制回路的每个循环的进程,以确定输入信号是否在关于控制动作的排定的时间段内被接收。例如,如果控制回路处理器706操作包括计算第一控制动作的控制回路,那么I/O调度器180跟踪当前时间何时靠近控制回路处理器706要执行所述计算的时间。然后,I/O调度器180访问控制调度以识别在第一控制动作之前的排定的时间段,并且确定相应于第一控制动作的输入信号是否已经被接收。如果输入信号已经在该排定的时间段之前被接收,则I/O调度180计算所述输入信号被接收的时间与排定的时间段之间的时间差。然后,I/O调度器180基于所计算的差来生成包括与时间调整相关的信息的消息(例如,时序调整消息),并且将该消息传送至I/O数据采集模块190。另外,I/O调度器180将输入信号转发至控制回路处理器706。
如果输入信号未在排定的时间段内由控制器104接收,那么I/O调度器180会等到接收到输入信号为止,并且计算输入信号被接收的时间与排定的时间段之间的时间差。然后,I/O调度器180生成包括了所计算的时间差的时序调整消息,并且将时序调整消息传送至I/O数据采集模块190。I/O调度器180将时序消息传送至信号调整处理器708,以转发至I/O数据采集模块190。
附加地或者替代地,在I/O调度器180确定了输入信号是在排定的时间段以外被接收的示例中,I?O调度器180可确定平均的偏差时间,这是基于与其相应的排定的时间段相比较的、之前的和/或后续的输入信号。该平均偏差时间可以被用来确定,来源于共同现场设备的输入信号时序是否始终如一地在排定的时间段以外。例如,来源于传感器的、在相应的排定的时间段之后的稍晚时间上由I/O调度器180逐渐地接收的输入信号可以被求平均,以确定来自传感器的输入信号偏离排定的时间段。如果平均偏差时间在排定的时间段以外,则I/O调度器180可以将一个或多个时序调整消息传送至I/O数据采集模块190,以便逐步将后续的输入信号带入相应的排定的时间段内。
在I/O调度器180在关于控制动作的排定的时间段之前的两个不同时间从相同现场设备上接收到带有相同过程控制信息类型的两个输入信号的示例中,I/O调度器180处理较晚到达的输入信号。另外,例如,当现场设备被添加到过程控制系统100或从其被移除时,图7中的示例I/O调度器180调整控制调度。例如,当添加现场设备时,调整控制回路以处理来自被新添加的现场设备的数据。I/O调度器180可基于过程控制工程师的指令,为新的现场设备调整控制调度。在某些情况下,工程师不必调整和/或更改控制回路就可以添加与新添加的现场设备有关的输入信号。然而,在一些其他的示例中,控制回路不经更改就不能够适应新输入信号,控制回路调度可由工程师和/或I/O调度器180调整,使得新输入信号可以被包括在控制回路内。调整可包括更改输入信号被转发和/或被请求的时序,和/或可包括增大接收输入信号的排定的时间段的持续时间。作为更新控制回路的结果,当计算控制动作,和/或当生成输出信号时,I/O调度器180用关于信号输入的新的时序要求来更新控制调度。另外,I/O调度器180将时序调整消息发送至I/O数据采集模块190,该时序调整消息包括用于转发来自新添加的现场设备的输入信号和/或向现场设备请求输入信号的新的时序要求。
在其他示例中,过程控制工程师可用添加新的现场设备来更新控制调度和/或控制回路。一旦接收到更新了的控制调度,I/O调度器180将带有更新了的输入信号时序要求的调整消息传送至I/O数据采集模块190。
为了传送来源于I/O调度器180的时序调整消息,图7的示例控制器104包括信号调整处理器708。该示例信号调整处理器708管理时序调整消息向I/O数据采集模块190和/或I/O卡132a-b和134a-b的传送。如果I/O数据采集模块190未响应,则信号调整处理器708可继续传送时序调整消息,和/或延迟时序调整消息的发送,直到I/O数据采集模块190能够再次接收消息为止。
一旦从I/O调度器180接收到时序消息,则信号调整处理器708可将该消息变换成用于经由通信路径730向I/O数据采集模块190传送的格式。示例通信路径730可通过以太网、通用串行总线(USB)、IEEE 1394,等等来实现。替代地,通信路径730可无线地通信耦合到I/O数据采集模块190和/或I/O卡132a-b和134a-b,并且能够使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)来实现。
示例I/O调度器180管理输入信号向控制回路处理器706的转发。在I/O调度器180在关于控制动作的排定的时间段之前和/或期间接收到输入信号的示例中,I/O调度器180在排定的时间段内将输入信号转发至控制回路处理器706。附加地或者替代地,I/O调度器180可根据在排定的时间段中来自控制回路处理器706的请求,将输入信号提供给控制回路处理器706。在I/O调度器180在关于控制动作的排定的时间段之后接收到输入信号的其他情况下,I/O调度器180可保持输入信号直到在下一个控制回路循环内再次出现排定的时间段为止。
如果I/O调度器180从相同的现场设备接收到下一个相类似的输入信号,则I/O调度器180可以删除和/或忽视在前的输入信号,并且在排定的时间段内将该下一个输入信号转发至控制回路处理器706。通过仅在相应于各自输入信号的控制动作的排定的时间段内向控制回路处理器706转发输入信号的限制,I/O调度器180维持了控制回路处理器706的效率。该效率确保控制回路处理器706不必在计算其他控制动作的时间内管理输入信号。另外,如果I/O调度器180确定输入信号在排定的时间段以外被接收,则I/O调度器180可在下一个控制回路循环之前校正输入信号的时序。
I/O调度器180使得过程控制操作员能通过根据需要为拓扑结构指定校正的方式,来调整输入信号时序的校正,由于有噪声的和/或过载的过程控制系统100的缘故,在所述拓扑结构中未意识到明显的过冲或者下冲。过程控制操作员可以经由连接740和调度数据库722来访问I/O调度器180。
图7的示例I/O调度器180还可以确定现场设备112a-c和116a-c中的任何一个与控制器104之间的通信路径的质量。I/O调度器180可以通过计算输入信号从发源的现场设备传播到控制器104的时间来确定通信路径的质量。例如,I/O调度器180可分析在输入信号内的打了时间戳的信息以确定传播时间。打了时间戳的信息可以包括输入信号由现场设备生成和/或传送的时间、输入信号被I/O卡转发的时间、输入信号被I/O数据采集模块190转发的时间、和/或输入信号被输入信号接收器702接收的时间。
I/O调度器180计算在每个过程控制组件之间的传播时间,并且将该时间与预定临界值相比较。可以为每条传播路径或步骤(例如,从FJB 120a经由多导线电缆128a到达终端模块124a),或者替代地为整个通信路径(例如,从现场设备112a到控制器104)定义临界值。如果被计算的传播时间超过临界值,则I/O调度器180可生成诊断消息,其指明通信路径的一部分和/或全部有问题。该诊断消息可指明在过程控制系统100的一部分中输入信号的传播有时间延迟和/或时延。I/O调度器180则将该诊断消息传送至诊断生成器712。
如果打了时间戳的信息包括来自过程控制组件(例如,I/O卡132a、I/O数据采集模块190,等等)中每一个的时间戳,则I/O调度器180可在诊断消息中指明通信路径有问题的部分。此外,I/O调度器180可通过向I/O数据采集模块190发送时序消息来调整由时间延迟所影响的输入信号时序。该时序消息确保沿着相同通信路径传播的输入信号在控制回路中的相应排定的时间段内被控制器104及时接收。在某些情况下,输入信号传播的时延超过了控制回路的周期,则过程控制工程师可通过调整控制调度来减慢控制回路,来允许输入信号在每个控制回路循环中至少到达控制器104一次。
为了将诊断消息传送至图1的工作站102,图7的示例控制器104包括诊断生成器712。示例诊断生成器712管理诊断消息的传送。一旦从I/O调度器180接收到诊断消息,诊断生成器712将该消息的格式变换成用于经由通信路径742向工作站102传送的格式。通信路径742可包括LAN 106。示例通信路径742可通过以太网、通用串行总线(USB)、IEEE 1394,等等实现。替代地,通信路径742可以无线地通信耦合到工作站102和/或任何其他的工作站,并且能够使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)来实现。
此外,如果接收工作站102未响应,则诊断生成器712可继续传送诊断消息,和/或延迟诊断消息的发送,直到工作站102能够再次接收消息为止。此外,过程控制工程师和/或操作员能够通过向诊断生成器712发送消息来更正用于识别传送中输入信号的时延的临界值。一旦接收到这些消息,诊断生成器712将该消息转发至I/O调度器180。诊断消息可指明过程控制系统100中的哪一部分(例如,通信路径)引发了输入信号传播的时延,和/或可指明曾经有问题的通信路径不再具有时延问题,且能够使与通信路径有关的诊断警告失效。
为了操作包括例程和/或控制回路(例如,图2中的控制回路202)的过程控制算法,图7的示例控制器104包括控制回路处理器706。示例控制回路处理器用预定的周期来操作控制回路,其监控和/或管理图1的过程控制系统100。图7的示例控制回路处理器706能够使用微处理器、微控制器、专用集成电路(ASIC)、数字信号处理器,等等来实现。
控制回路处理器706接收来源于现场设备的输入信号,处理输入信号,计算控制动作,以及生成相应于控制动作的输出信号。控制算法、例程和/或控制回路可以由控制调度来指定。另外,对控制算法、例程和/或控制回路的更改可由过程控制工程师经由工作站102和/或通过直接访问控制器104做出。
控制回路处理器706从I/O调度器180接收输入信号。I/O调度器180在控制回路使用输入信号计算控制动作之前,在排定的时间段内将输入信号发送至控制回路处理器706。附加地或者替代地,I/O调度器180可根据来自控制回路处理器706的请求将输入信号发送至控制回路处理器706。一旦接收到输入信号,控制回路处理器706通过将它们读入控制回路中的适合部分(例如,图2中AI 210内的控制变量)来处理该输入信号。然后,控制回路在控制动作的计算期间利用输入信号内的数据,并生成相应于控制动作的输出信号。一旦生成了输出信号,控制回路处理器706将输出信号传送至输出信号传送器710。
为了将输出信号传送至相应现场设备,图7的示例控制器104包括输出信号传送器710。现场设备使用输出信号以对过程控制系统100执行校正动作,以便将一个或多个过程保持在预定标准内。示例输出信号传送器710管理输出信号向I/O数据采集模块190和/或I/O卡132a-b和134a-b的传送。一旦从控制回路处理器706接收到输出信号,输出信号传送器710将输出信号的格式转换成用于经由通信路径738向I/O数据采集模块190传送的格式。示例通信路径738可由以太网、通用串行总线(USB)、IEEE 1394,等等实现。替代地,通信路径738可无线地通信耦合到I/O数据采集模块190和/或任何现场设备(例如,无线现场设备116c),并且能通过使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)来实现。
在传送输出信号之前,输出信号传送器710可访问低优先级信号数据库720以确定用于传送输出信号的序列。例如,在输出信号传送器710从控制回路处理器706接收了许多输出信号情况下,输出信号传送器710可优先考虑被传送到相应现场设备的输出信号。例如,如果输出传送器710接收到多个输出信号,该输出传送器710可访问低优先级信号数据库720以确定与控制回路有关的输出信号能够被首先传送,而与控制回路无关的输出信号能够被随后传送。
此外,在一些示例中,I/O调度器180可访问低优先级数据库720以确定哪些输入要在排定的时间段内被接收。被确定为低优先级的输入信号可在较高优先级输入信号之后由I/O调度器180来检测。低优先级输入信号可包括被包括在显示内的受监控输入和/或与控制动作无关的输入,并且高优先级包括了其中至少一个输入。另外,高优先级输入包括来自现场设备的与控制动作有关的输入。此外,低优先级输出信号可包括生成在相对长的时间段之间的输出信号。
示例低优先级信号数据库720可由EEPROM、RAM、ROM和/或任何其他类型的存储器实现。对输出信号的每一个的优先级排名可通过控制回路被配置的周期来推断,和/或可经由通信路径736由过程控制工程师配置。示例通信路径736可由以太网、通用串行总线(USB)、IEEE 1394,等等实现。替代地,通信路径736可无线地通信耦合到工作站102,并且能够使用无线通信媒介(例如,无线以太网、IEEE-802.11、等等)来实现。
虽然图7中描绘了实现控制器104的示例方式,但是在图7中示出的接口、数据结构、元件、过程和/或设备中的一个或多个可以用任何其他的方式来组合、分开、重新排列、省略、排除和/或实现。例如,图7中示出的示例输入信号接收器702、示例系统时钟管理器704、示例控制回路处理器706、示例信号调整处理器708、示例输出信号传送器710、示例诊断生成器712、示例I/O调度器180、示例调度数据库722、和/或示例低优先级信号数据库720可使用例如,由一个或多个计算设备和/或计算平台(例如,图10中的示例处理平台1010)所执行的机器可访问的或可读的指令而被分离地和/或以任何组合来实现。
另外,示例输入信号接收器702、示例系统时钟管理器704、示例控制回路处理器706、示例信号调整处理器708、示例输出信号传送器710、示例诊断生成器712、示例I/O调度器180、示例调度数据库722、示例低优先级信号数据库720、和/或更普遍地,控制器104可以由硬件,软件,固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如任何一个示例输入信号接收器702、示例系统时钟管理器704、示例控制回路处理器706、示例信号调整处理器708、示例输出信号传送器710、示例诊断生成器712、示例I/O调度器180、示例调度数据库722、示例低优先级信号数据库720、和/或更普遍地,控制器104能够由一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑设备(PLD)和/或现场可编程逻辑设备(FPLD),等等来实现。
图8A、8B和9是示例方法的流程图,所述示例方法可被实施以实现图1、2和/或7中的示例控制器104,图1、2和/或7中的示例I/O调度器180,图1和/或2中的示例I/O数据采集模块190,和/或图1和/或2中的示例过程控制系统100。图8A、8B和9中的示例方法可以由处理器、控制器和/或任何其他适合的处理设备来实施。例如,图8A、8B和9中的示例方法可在有形的、计算机可读的任何媒体上所存储的编码指令中被实施,所述有形的、计算机可读的任何媒体诸如闪存、CD、DVD、软盘、ROM、RAM、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写PROM(EEPROM)、光学存储盘、光学存储设备、磁性存储盘、磁性存储设备、和/或任何其他媒介,这些媒介能够被用于以方法或数据结构形式承载或存储程序代码和/或指令,并且能够由处理器、通用或专用的计算机、或者其他带有处理器的机器(例如,以下关于图10所讨论的示例处理器平台1010)访问。以上组合也包括在计算机可读媒介的范围内。方法例如包括使处理器、通用计算机、专用计算机、或者专用处理机器实现一个或多个特定的方法的指令和/或数据。替代地,图8A、8B和9中的示例方法的一些或全部可使用ASIC、PLD、FPLD、离散逻辑、硬件、固件,等等的任何组合来实现。并且,图8A、8B和9中的示例方法的一些或全部可以代替地被手动地实现,或者作为任何上述技术的任何组合来实现,例如固件、软件、离散逻辑和/或硬件的任何组合。另外,可使用实现图8A、8B和9的示例操作的许多其他方法。例如,块的执行顺序可改变,和/或所描述的一个或多个块可被改变、排除、细分或者组合。另外,图8A、8B和9中的示例方法的一些或全部可被顺序实施,和/或通过例如分离的处理线程、处理器、设备、离散逻辑、电路,等等并行地实施。
图8A和8B的示例方法800提供了输入信号的验证和/或调整过程以将输入信号配置成它们在指定的排定的时间段被控制器104接收。示例方法800提供的过程用于为来源于一个过程控制设备(例如,现场设备)的输入信号计算时序调整。然而,示例方法800可与其他示例方法800并行操作,用于为来源于多个过程控制设备的输入信号计算时序调整。另外,对于过程控制设备中的每一个而言,示例方法800在不同时间可以处于不同的块。
在图8A中,当图1的示例控制器104启动控制回路(块804)时,示例方法800开始。控制回路可被包括在控制器104中执行的控制算法和/或例程内。接下来,控制器104将初始时序消息发送至I/O采集模块190(块806)。该初始时序消息包括关于I/O采集模块190将输入信号转发至控制器104的时间。时序消息可基于控制回路的控制调度。某些时候,稍后,I/O采集模块190从过程控制设备(例如,现场设备112a-c和116a-c)接收第一输入信号(块808)。一旦接收到第一输入信号,I/O采集模块190给所接收到的输入信号打时间戳(块810)。然后,在相应于时序消息中的时间的排定的时间段内,I/O采集模块190将第一输入信号转发至控制器104(块812)。
I/O调度器180和/或控制器104从I/O采集模块190接收第一输入信号,并且计算第一输入信号是否在排定的时间段内被接收(即,计算输入信号的延迟)(块814)。如果第一输入信号在排定的时间段内被控制器104接收(块816),所述排定的时间段相应于控制回路利用第一输入信号的预定时间,则在控制器104中,图7的控制回路处理器706处理控制回路中的第一输入信号,并且使用该第一输入信号计算控制动作(块818)。接下来,控制回路处理器706生成包括了所计算出的控制动作的输出信号(块820)。然后,控制器104向第二过程控制设备传送输出信号以控制过程控制系统100的一部分(块822)。然后当I/O数据采集模块190从过程控制设备接收了另一个输入信号时,图8A的示例方法800环回(块808)。
然而,如果I/O调度器180和/或控制器104确定第一输入信号在排定的时间段以外被控制器104接收(块816),排定的时间段相应于控制回路利用第一输入信号的时间,则I/O调度器180和/或控制器104确定第一输入信号是否在排定的时间段开始之前被控制器104接收(块824)。如果第一输入信号在排定的时间段之前接收,示例方法800在图8B中继续,此时I/O调度器180和/或控制器104将第一输入信号转发至控制回路处理器706,并且控制回路处理器706使用第一输入信号处理并计算控制动作(块826)。随后,控制回路处理器706根据控制动作生成输出信号(块828),并且将该输出信号传送至第二过程控制设备(块830)。
图8B的示例方法800继续(块838),I/O调度器180和/或控制器104生成指明了第一输入信号在排定的时间段开始之前由控制器104接收的诊断消息。然后,I/O调度器180和/或控制器104计算控制器104接收第一输入信号的时间与排定的时间段之间的差异(块840)。I/O调度器180和/或控制器104可计算控制器104接收第一输入信号的时间与排定的时间段的开始、当中和/或结束之间的差异。替代地,I/O调度器180和/或控制器104可计算控制器104接收第一输入信号的时间与排定的时间段内任何时间之间的差异。
在一些示例实现中,I/O调度器180和/或控制器104根据被发送到控制回路处理器用于处理的输入信号(块826)计算时间差(块840)。其他示例实现中,在输入信号被发送到控制回路处理器用于处理(块826)之前,I/O调度器180和/或控制器104可计算时间差(块840)。所述时间差可相应于接收第一输入信号的时间与排定的时间段内任何时间之间的差异。I/O调度器180和/或控制器104生成有时间差的时间调整消息(块840),并且将该时序调整消息传送至I/O数据采集模块190(块842)。时序调整消息包括关于I/O数据采集模块190转发和/或请求来源于相同过程控制设备的相类似的输入信号的新时间,所述过程控制设备报告与第一输入信号相同的数据的时间。
在其他示例实现中,I/O调度器180和/或控制器104可基于多个被接收的输入信号与排定的时间段的平均时间偏差来计算时间差(块840)。随后,如果平均时间偏差在排定的时间段以外,则示例控制器104和/或I/O数据采集模块可将时序调整消息发送至I/O数据采集模块190(块842)。所述平均时间偏差可基于从现场设备所接收的所有输入信号,或者替代地,所述时间偏差可基于一定数量的最近从现场设备接收的输入信号。
一旦接收到时序调整消息,I/O数据采集模块190为与第一输入信号相关的输入更新其时序调度(块844)。因此,来自相同过程控制设备的、有和第一输入信号相同信息类型的任何未来输入信号,在符合相应排定的时间段的时间上被I/O采集模块190转发至控制器104。另外,I/O采集模块190可基于时序调度,从相同的过程控制设备请求带有与第一输入信号相同类型的信息的任何未来输入信号。然后,图8B的示例方法800环回图8A,I/O数据采集模块190从过程控制设备接收第二输入信号(块808)。
然而,如果在排定的时间段之后接收到第一输入信号,则示例方法800在图8B继续,控制回路处理器706使用先于第一输入信号的之前的输入信号处理和计算控制动作(块832)。因为第一输入信号在计算了控制动作后由控制器104所接收,则控制回路仅能够利用可用的输入信号,其为之前的输入信号。然后,控制回路处理器706根据控制动作生成输出信号(块834),并且将该输出信号传送至第二过程控制设备(块836)。
图8B的示例方法800继续(块838),I/O调度器180和/或控制器104生成指明了第一输入信号在排定的时间段开始之后由控制器104接收的诊断消息。然后,I/O调度器180和/或控制器104计算控制器104接收第一输入信号的时间与排定的时间段之间的差异(块840)。该时间差可相应于排定的时间段内的任何时间与接收第一输入信号的时间的差异。I/O调度器180和/或控制器104生成有时间差的时间调整消息(块840),并且将该时序调整消息传送至I/O数据采集模块190(块842)。时序调整消息包括关于I/O数据采集模块190转发来源于相同过程控制设备的相类似的输入信号的新时间,所述过程控制设备报告与第一输入信号相同的数据的时间。另外,I/O采集模块190可基于时序调度从相同的过程控制设备请求带有与第一输入信号相同信息类型的未来输入信号。
一旦接收到时序调整消息,I/O数据采集模块190为与第一输入信号相关的输入更新其时序调度(块844)。因此,来自相同过程控制设备的、有和第一输入信号相同信息类型的任何未来输入信号,在符合相应排定的时间段的时间上被I/O采集模块190转发至控制器104。另外,I/O采集模块190可基于时序调度,从相同的过程控制设备请求带有与第一输入信号相同类型的信息的任何未来输入信号。然后,图8B的示例方法800环回图8A,I/O数据采集模块190从过程控制设备接收第二输入信号(块808)。
当新的过程控制设备(例如,现场设备)被添加到过程控制系统100时,图9的示例方法900提供输入信号的验证和/或调整过程。示例方法900可与其他示例方法900并行操作,用于为来源于多个过程控制设备的输入信号计算时序调整。另外,对于过程控制设备中的每一个而言,示例方法900在不同的时间可以处在不同的块。
图9中,示例方法900通过将过程控制设备添加到过程控制系统,并用控制动作更新控制回路来开始(块906),所述控制动作使用了来自被新添加的过程控制设备的输入。接下来,I/O调度器180和/或控制器104确定从现场设备(包括着被新添加的现场设备)接收的输入信号是否在各自排定的时间段内被接收(块908)。当I/O调度器180接收到输入信号时,I/O调度器180和/或控制器104确定每个输入信号是否都在其相应的排定的时间段内被接收。对于那些被确定是在其相应的排定的时间段内被接收(块908)的输入信号,I/O调度器180和/或控制器104将其转发至控制回路处理器706。然后,控制回路处理器706在控制回路内处理该输入信号,并且计算相应的控制动作(块910)。根据该控制动作,控制回路处理器706生成输出信号(块912),并且将该输出信号传送至相应的过程控制设备(块916)。然后,图9的示例方法900环回以确定从包括新添加的现场设备的现场设备接收的输入信号是否在各自排定的时间段内被接收(块908)。
然而,对于在其各自排定的时间段以外被接收(块908)的输入信号,I/O调度器180和/或控制器104将所述输入信号转发至控制回路处理器706。当输入信号是在其排定的时间段之前被接收的情况下,则控制回路处理器706在控制回路内处理该输入信号,并且计算相应的控制动作(块918)。当输入信号是在其排定的时间段之后被接收的情况下,则控制回路处理器706在控制回路内处理之前所接收的输入信号,并且计算相应的控制动作(块918)。然后,控制回路处理器706根据控制动作生成输出信号(块920),并且将该输出信号传送至相应的过程控制设备(块922)。
图9的示例方法900继续,I/O调度器180和/或控制器104生成指明输入信号未在其相应的排定的时间段内被接收的诊断消息(块924)。然后,I/O调度器180和/或控制器104计算在控制器104接收输入信号的时间与该输入信号相应的排定的时间段之间的时间差(块926)。I/O调度器180和/或控制器104可计算控制器104接收第一输入信号与所述排定的时间段的开始、当中和/或结束之间的差异。替代地,I/O调度器180和/或控制器104可计算在控制器104接收第一输入信号的时间与排定的时间段内任何时间之间的差异。在一些示例实现中,I/O调度器180和/或控制器104根据被发送到控制回路处理器用于处理的输入信号(块918)来计算时间差(块926)。在其他示例实现中,I/O调度器180和/或控制器104可在输入信号被发送到控制回路处理器用于处理(块918)之前计算时间差(块926)。附加地或替代地,I/O调度器180和/或控制器104可根据时间差的计算(块926)生成诊断消息(块924)。
在其他示例实现中,I/O调度器180和/或控制器104可基于从第一和/或第二过程控制设备所接收的多个输入信号与排定的时间段的平均时间偏差计算时间差(块926)。然后,如果平均时间偏差在排定的时间段以外,则示例控制器104和/或I/O数据采集模块可将时序调整消息传送至I/O数据采集模块190(块928)。该平均时间偏差可基于从现场设备所接收的所有输入信号,或者替代地,该时间偏差可基于一定数量的最近从现场设备接收的输入信号。
然后,I/O调度器180和/或控制器104生成时间调整消息(块928)。该时间调整消息包括时序数据,使得来源于相同过程控制设备的、带有和当前输入信号相同的信息类型的后续的输入信号在相应的排定的时间段内被接收。然后,I/O调度器180和/或控制器104将时间调整消息发送至I/O数据采集模块190(块930)。I/O数据采集模块190接收时间调整消息,并且调整用于转发与产生不合时宜的输入信号的过程控制设备相关的输入信号的时序(块932)。然后,示例方法900环回以确定从包括新添加现场设备的现场设备上接收的输入信号是否在各自排定的时间段内被接收(块908)。
图10是示例处理器系统1010的方框图,该示例处理器系统1010可用来实现此处所描述的示例方法和装置。例如,与示例处理器系统1010相类似或者相同的处理器系统可用来实现图1和/或2中的工作站102、控制器104、I/O数据采集模块190、和/或I/O调度器180。虽然示例处理器系统1010在下面被描述为包括多个外围设备、接口、芯片、存储器,等等,这些元件中的一个或多个可从用来实现工作站102、控制器104、数据采集模块190和/或I/O调度器180中一个或多个的其他示例处理器系统中省略。
如图10中所示,处理器系统1010包括的处理器1012耦合到互连总线1014。处理器1012包括寄存器组或寄存器空间1016,其在图10中被描绘成是整个在芯片上的,但替代地其能够完全地或部分地位于芯片以外,并经由专用电路连接和/或经由互连总线1014直接耦合到处理器1012。处理器1012可以是任何适合的处理器、处理单元或者微处理器。虽然未在图10中显示,系统1010可以是多处理器系统,并因此可以包括一个或多个额外的处理器,这些处理器与处理器1012相同或者相类似,并且通信地耦合到互连总线1014。
图10的处理器1012耦合到芯片组1018,其包括存储器控制器1020以及外围输入/输出(I/O)控制器1022。正如已熟知的,芯片组典型地提供I/O和存储器管理功能,以及多个通用和/或专用的寄存器、定时器,等等,它们可由耦合到芯片组1018的一个或多个处理器访问或使用。存储器控制器1020执行的功能使得处理器1012(若有多个处理器的则是一些处理器)能够访问系统存储器1024以及大规模储存器1025。
系统存储器1024例如可包括任何所需类型的易失性和/或非易失性存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪存、只读存储器(ROM),等等。大规模储存器1025则可以包括任何所需类型的大规模的储存设备。例如,如果示例处理器系统1010被用来实现工作站102(图1),则大规模储存器1025可包括硬盘驱动器、光盘驱动器、磁带储存设备,等等。替代地,如果示例处理器系统1010被用来实现控制器104、I/O数据采集模块190和/或I/O调度器180,则大规模储存器1025可包括固态存储器(例如,闪存、RAM存储器,等等)、磁性存储器(例如,硬盘)、或者适用于控制器104、I/O数据采集模块190和/或I/O调度器180中大规模储存的任何其他存储器。
外围I/O控制器1022执行的功能使得处理器1012能够经由外围I/O总线1032与外围输入/输出(I/O)设备1026和1028以及网络接口1030通信。I/O设备1026和1028可以是任何所需类型的I/O设备,诸如例如键盘、显示器(例如,液晶显示器(LCD)、阴极射线管(CRT)显示器,等等)、导航设备(例如,鼠标、轨迹球、电容性触控板、游戏手柄,等等),等等。网络接口1030例如可以是以太网设备、异步传送模式(ATM)设备、802.11设备、DSL调制解调器、电缆调制解调器、蜂窝调制解调器,等等,其使得处理器系统1010能够与另一个处理器系统通信。
虽然在图10中存储器控制器1020和I/O控制器1022被描绘为芯片组1018中的分离功能块,但是由这些块所执行的功能能够集成到单个半导体电路内,或者可能使用两个或多个分离的集成电路来实现。
以上所描述的示例方法和/或系统中的至少一些是通过在计算机处理器上运行的一个或多个软件和/或固件程序来实现的。然而,专用的硬件实现包括但不限于专用集成电路、可编程逻辑阵列、以及能够被完全或部分类似地构造以实现此处所描述的示例方法和/或装置中的一些或全部的其他硬件设备。此外,也能构造包括但不限于分布式处理或组件/对象分布式处理、并行处理、或者虚拟机处理的可供选择的软件实现,以实现此处所描述的示例方法和/或系统。
还应当注意的是,此处所描述的示例软件和/或固件实现是被存储在有形的储存媒介上的,诸如:磁性媒介(例如,磁盘或磁带);磁光或光学媒介诸如光盘;或者固态媒介诸如存储卡或者容纳了一个或多个只读(非易失性)存储器、随机存取存储器、或其他可重写(易失性)存储器的其他封装。因此,此处所描述的示例软件和/或固件能够被存储在有形的储存媒介上,诸如以上所描述的媒介或者后继的储存媒介。在以上说明书参考特定标准和协议描述示例组件和功能的范围内,要理解的是,本专利的范围不限于这些标准和协议。比如,关于用户互联网和其他分组交换网络传送(例如,传送控制协议(TCP)/互联网协议(IP)、用户数据报协议(UDP)/IP、超文本标记语言(HTML)、超文本传送协议(HTTP))的标准中的每一个都代表了本领域中现有技术的示例。这些标准定期地被具有相同的一般功能但更快或更有效率的等效物取代。因此,具有相同功能的替换标准和协议是等效物,这些等效物由本专利预期,并且旨在包括于附加权利要求的范围内。
此外,虽然本发明公开的示例方法和装置包括了在硬件上执行的软件或固件,但要注意的是,这些系统仅仅是说明性的,并且不应被视为是限制性的。例如,要预期的是,这些硬件和软件组件中的任何一个或者全部完全以硬件实施,完全以软件实施,完全以固件实施或者以硬件、固件和/或软件的某些组合来实施。因此,虽然以上说明书中描述了示例方法、系统以及机器可访问媒介,但这些示例并不是实现这些系统、方法和机器可访问媒介的唯一方式。因此,虽然此处已描述了某些示例方法、系统以及机器可访问媒介,但是本专利的覆盖范围并不限制于其中。正相反,本专利覆盖了无论在字面上还是在等效原则上都完全落于附加权利要求范围内所有方法、系统以及机器可访问媒体。

Claims (30)

1.一种调整过程控制系统中的控制回路时序的方法,所述方法包括:
接收经由过程控制系统内的第一过程控制设备生成的第一输入信号;
在所述过程控制系统内确定所述第一输入信号是否在控制回路的第一排定的时间段内被接收;
在所述过程控制系统内调整从所述第一过程控制设备接收的后续的输入信号的时序,以使所述后续的输入信号在所述控制回路的后续的排定的时间段内被接收,其中所述后续的输入信号的所述时序至少基于所述第一输入信号何时被接收;以及
基于所述控制回路的调整后的时序,计算控制动作。
2.如权利要求1所述的方法,还包括:
在接收所述第一输入信号之前,指定相应于所述控制回路何时利用被包括在所述第一输入信号内的信息的第一时间;
在接收所述第一输入信号之前,指定相应于所述控制回路何时传送与所述第一输入信号相关的输出信号的第二时间;以及
一旦接收到所述第一输入信号,识别相应于所述第一输入信号何时被接收到的第三时间。
3.如权利要求2所述的方法,其中在所述第一时间,所述控制回路至少部分地基于包括在所述第一输入信号内的信息来计算控制动作。
4.如权利要求3所述的方法,还包括:
确定所述第一输入信号或所述输出信号中至少一个的优先级;
如果所述优先级是高优先级输出信号,则在所述第二时间经由所述输出信号将所述控制动作传送至所述第一过程控制设备或第二过程控制设备中的至少一个;
如果所述优先级是低优先级输出信号,则在高优先级输出被传送到所述第一过程控制设备或所述第二过程控制设备中至少一个之后传送所述输出信号;
如果所述优先级是高优先级输入信号,确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收;以及
如果所述优先级是低优先级输入信号,则在确定了其他输入信号是否在所述控制回路的所述第一排定的时间段内被接收之后,确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收。
5.如权利要求4所述的方法,其中:
所述低优先级输出信号包括在相对长的时间段之间生成的输出信号;
所述高优先级输出信号包括所述控制动作;
所述低优先级输入信号包括被包括在显示内的被监控的输入或者与所述控制动作无关的输入中的至少一个;以及
所述高优先级输入信号包括来自与所述控制动作相关的现场设备的输入。
6.如权利要求1所述的方法,其中所述后续的输入信号是在生成所述第一输入信号之后,经由所述第一过程控制设备生成。
7.如权利要求1所述的方法,其中所述第一输入信号相应于所述控制回路的第一循环,并且所述后续的输入信号相应于所述控制回路的第二循环。
8.如权利要求1所述的方法,还包括响应于确定所述第一输入信号在所述第一排定的时间段以外被接收,生成指明所述第一输入信号在所述第一排定的时间段以外的诊断信号。
9.如权利要求1所述的方法,其中确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收包括:计算接收所述第一输入信号的时间与所述第一排定的时间段内的时间之间的时间差。
10.如权利要求9所述的方法,其中所述第一排定的时间段内的所述时间包括所述第一排定的时间段的起始时间、所述第一排定的时间段的结束时间、或者在所述第一排定的时间段的所述起始时间与所述结束时间之间的时间中的至少一个。
11.如权利要求1所述的方法,其中所述后续的输入信号的所述时序基于确定第一时间差和第二时间差的平均值,其中所述第一时间差基于所述第一输入信号被接收的时间与所述第一排定的时间段内的时间之间的时间差,并且所述第二时间差基于之前的输入信号被接收的时间与之前的排定的时间段内的时间之间的时间差。
12.如权利要求1所述的方法,其中调整所述后续的输入信号的所述时序包括:
在接收所述后续的输入信号之前,增量调整从所述第一过程控制设备接收的中间的输入信号的时序,以使所述中间的输入信号更靠近中间的排定的时间段被接收;以及
增量调整从所述第一过程控制设备接收的所述后续的输入信号的所述时序,以使所述后续的输入信号在所述后续的排定的时间段内被接收。
13.如权利要求1所述的方法,还包括:
在所述第一输入信号由所述第一过程控制设备生成时或者所述第一输入信号由数据采集设备接收时这二者中的至少一个期间内,为所述第一输入信号打时间戳;
计算在当所述第一输入信号被打时间戳与所述第一输入信号被接收之间的持续时间;以及
由所述持续时间确定与从所述第一过程控制设备到接收所述第一输入信号的控制器的过程控制通信路径相关的质量。
14.如权利要求13所述的方法,还包括如果所述持续时间超出临界值:
指明所述过程控制路径通信具有时延;
指明所述通信路径具有质量问题;以及
生成诊断消息,所述诊断消息包括所述过程控制通信路径内的所述质量问题或所述时延中的至少一个。
15.如权利要求14所述的方法,其中所述临界值包括关于所述第一输入信号从所述第一过程控制设备传播到所述控制器的预定时间。
16.一种调整过程控制系统中的控制回路时序并计算控制动作的装置,所述装置包括:
调度器,其
确定来源于第一过程控制设备的第一输入信号是否在控制回路的第一排定的时间段内被接收;以及
在所述过程控制系统内调整从所述第一过程控制设备接收的后续的输入信号的时序,以使所述后续的输入信号在所述控制回路的后续的排定的时间段内被接收,其中所述后续的输入信号的所述时序至少基于所述第一输入信号何时被接收;以及
控制回路,其基于所述控制回路的调整后的时序,计算控制动作。
17.如权利要求16所述的装置,其中所述调度器用来:
指定相应于所述控制回路何时利用被包括在所述第一输入信号内的信息的第一时间;
指定相应于所述控制回路何时传送与所述第一输入信号相关的输出信号的第二时间;
一旦接收到所述第一输入信号,识别相应于所述第一输入信号何时被接收到的第三时间;
从所述第三时间减去所述第一时间以确定所述第一输入信号是否在所述第一排定的时间段以外被接收;以及
通过发送时序调整消息来调整所述后续的输入信号的所述时序。
18.如权利要求17所述的装置,还包括:
接收器,用于接收来源于所述第一过程控制设备的所述第一输入信号或所述后续的输入信号中的至少一个;以及
控制回路处理器,用于:
操作所述控制回路;
在所述第一时间,至少部分地基于包括在所述第一输入信号内的信息来计算控制动作;以及
在所述第二时间,将包括所述控制动作的所述输出信号传送至所述第一过程控制设备或第二过程控制设备中的至少一个。
19.如权利要求18所述的装置,其中所述控制动作包括操作所述第二过程控制设备的指令,以引起所述第一过程控制设备所测量的、与所述过程控制系统相关的过程中的改变。
20.如权利要求17所述的装置,还包括数据采集模块,用于:
接收由所述第一过程控制设备生成的所述第一输入信号或所述后续的输入信号中的至少一个;
一旦接收到所述第一输入信号,则给所述第一输入信号打时间戳;
接收由所述控制回路处理器生成的所述输出信号,并且将所述输出信号转发至所述第一过程控制设备或第二过程控制设备中的至少一个;
在所述第一排定的时间段内将所述第一输入信号转发至所述调度器;
从所述调度器接收所述时序调整消息,所述时序调整消息包括在所述控制回路的所述第一排定的时间段内将所述第二输出信号转发至所述接收器的指令;以及
在所述控制回路的所述第一排定的时间段内将所述后续的输入信号转发至所述调度器。
21.如权利要求20所述的装置,其中所述数据采集模块包括输入/输出卡。
22.如权利要求20所述的装置,其中所述调度器、所述控制回路处理器、所述数据采集模块、或者所述接收器中的至少一个被包括在控制器内。
23.如权利要求20所述的装置,其中所述调度器用于:
确定所述第一输入信号或者所述输出信号中至少一个的优先级;
如果所述优先级为高优先级输出信号,则在所述第二时间将所述控制动作经由所述输出信号传送至所述第一过程控制设备或所述第二过程控制设备中的至少一个;
如果所述优先级为低优先级输出信号,则在高优先级输出被传送至所述第一过程控制设备或所述第二过程控制设备中的至少一个之后再传送所述输出信号;
如果所述优先级为高优先级输入信号,确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收;以及
如果所述优先级为低优先级输入信号,在确定其他输入信号是否在所述控制回路的所述第一排定的时间段内被接收之后,再确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收。
24.如权利要求20所述的装置,其中所述调度器用于:
计算在所述第一输入信号被所述数据采集模块或所述第一过程控制设备中的至少一个打时间戳的时间与所述第一输入信号被所述调度器接收的时间之间的持续时间;
从所述持续时间确定与从所述第一过程控制设备到所述调度器的过程控制通信路径相关的质量;
如果所述第二持续时间超过临界值,则指明所述过程控制通信路径具有时延;
指明所述过程控制通信路径具有质量问题;以及
生成诊断消息,所述诊断消息包括所述过程控制通信路径内的所述质量问题或所述时延中的至少一个。
25.如权利要求16所述的装置,其中所述调度器通过计算所述第一输入信号被接收的时间与所述第一排定的时间段内的时间之间的时间差来确定所述第一输入信号是否在所述控制回路的所述第一排定的时间段内被接收。
26.如权利要求16所述的装置,其中在所述过程控制设备生成所述第一输入信号之后,经由所述第一过程控制设备生成所述后续的输入信号。
27.如权利要求16所述的装置,其中所述第一输入信号相应于所述控制回路的第一循环,并且所述后续的输入信号相应于所述控制回路的第二循环。
28.如权利要求16所述的装置,其中所述调度器通过确定第一时间差和第二时间差的平均值,来确定所述后续的输入信号的所述时序,其中所述第一时间差基于所述第一输入信号被接收的时间与所述第一排定的时间段内的时间之间的时间差,并且所述第二时间差基于之前的输入信号被接收的时间与之前的排定的时间段内的时间之间的时间差。
29.如权利要求16所述的装置,其中所述调度器调整所述后续的输入信号的所述时序是通过:
在接收所述后续的输入信号之前,增量调整从所述第一过程控制设备接收的中间的输入信号的时序,以使所述中间的输入信号更靠近中间的排定的时间段被接收;以及
增量调整从所述第一过程控制设备接收的所述后续的输入信号的所述时序,以使所述后续的输入信号在所述后续的排定的时间段内被接收。
30.一种调整过程控制系统中的控制回路时序的设备,所述设备包括:
接收经由过程控制系统内的第一过程控制设备生成的第一输入信号的装置;
在所述过程控制系统内确定所述第一输入信号是否在控制回路的第一排定的时间段内被接收的装置;
在所述过程控制系统内调整从所述第一过程控制设备接收的后续的输入信号的时序,以使所述后续的输入信号在所述控制回路的后续的排定的时间段内被接收的装置,其中所述后续的输入信号的所述时序至少基于所述第一输入信号何时被接收;以及
基于所述控制回路的调整后的时序,计算控制动作的装置。
CN201010269146.8A 2009-08-31 2010-08-31 调整过程控制系统中的控制回路时序的方法和装置 Active CN102004472B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/551,181 2009-08-31
US12/551,181 US8340790B2 (en) 2009-08-31 2009-08-31 Methods and apparatus to adjust control loop timing in a process control system

Publications (2)

Publication Number Publication Date
CN102004472A CN102004472A (zh) 2011-04-06
CN102004472B true CN102004472B (zh) 2015-06-17

Family

ID=43013301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010269146.8A Active CN102004472B (zh) 2009-08-31 2010-08-31 调整过程控制系统中的控制回路时序的方法和装置

Country Status (5)

Country Link
US (1) US8340790B2 (zh)
JP (1) JP5697380B2 (zh)
CN (1) CN102004472B (zh)
DE (1) DE102010037221A1 (zh)
GB (1) GB2473131B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352641B2 (en) * 2010-04-21 2013-01-08 General Electric Company Systems and methods for identifying fieldbus devices in a control system
KR101466814B1 (ko) * 2011-05-04 2014-11-28 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 릴레이 및 계층적 전송 방법
US9239574B2 (en) 2011-06-30 2016-01-19 Honeywell International Inc. Apparatus for automating field device operations by capturing device method execution steps for later use and related method
US9002973B2 (en) * 2011-10-21 2015-04-07 Fisher Controls International Llc Delayed publishing in process control systems
CN102508149A (zh) * 2011-11-04 2012-06-20 中兴通讯股份有限公司 一种器件时序参数确定方法和装置
US9372478B2 (en) * 2012-01-04 2016-06-21 General Electric Company Control system for a power application
JP5565431B2 (ja) * 2012-04-18 2014-08-06 横河電機株式会社 制御装置及び制御システム
EP2895924B1 (en) 2012-09-14 2020-03-25 Global Life Sciences Solutions USA LLC Methods and apparatus to implement flexible bioreactor control systems
US20140126583A1 (en) * 2012-11-08 2014-05-08 General Electric Company Systems and Methods for Segment Synchronization
GB201302534D0 (en) * 2013-02-13 2013-03-27 Qatar Foundation Feedback control as a cloud service
US10120350B2 (en) * 2013-03-11 2018-11-06 Fisher-Rosemount Systems, Inc. Background collection of diagnostic data from field instrumentation devices
CN105573131A (zh) * 2015-12-21 2016-05-11 博耳(无锡)软件科技有限公司 智能家居多回路数据采集控制电路
US10764113B2 (en) * 2018-07-05 2020-09-01 At&T Intellectual Property I, L.P. Self-adjusting control loop
CN110007634A (zh) * 2019-05-06 2019-07-12 石家庄德堃电子科技有限公司 一种过程控制器控制方法
US11249464B2 (en) 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
GB2623651A (en) 2019-06-10 2024-04-24 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
GB2624788A (en) 2019-06-10 2024-05-29 Fisher Rosemount Systems Inc Virtualized real-time I/O in process control systems
US11537112B2 (en) 2019-06-10 2022-12-27 Fisher-Rosemount Systems, Inc. Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
US20210397526A1 (en) * 2020-06-18 2021-12-23 General Electric Company Systems and methods of providing an abstraction layer between an application layer and hardware components of a computing device
DE102020124749A1 (de) * 2020-09-23 2022-03-24 Aco Ahlmann Se & Co. Kg Sensorbox, System und Verfahren
CN113110229A (zh) * 2021-05-08 2021-07-13 深圳市天河软件开发有限公司 一种电子产品的控制系统、控制方法以及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173240C (zh) * 1995-08-15 2004-10-27 罗斯蒙德公司 具有自动调节的现场基地过程控制系统
US6864833B2 (en) * 2003-04-11 2005-03-08 Siemens Milltronics Process Instruments, Inc. Time-base generator with self-compensating control loop

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61256410A (ja) * 1985-05-09 1986-11-14 Mitsubishi Electric Corp プラント監視装置
US4868430A (en) * 1988-02-11 1989-09-19 Ncr Corporation Self-correcting digitally controlled timing circuit
EP0360206A3 (en) * 1988-09-21 1990-12-19 Hitachi, Ltd. Self-tuning controller apparatus and process control system
JPH04116320A (ja) * 1990-09-07 1992-04-16 Sanyo Electric Co Ltd 電子制御装置
JPH06318102A (ja) * 1993-05-07 1994-11-15 Yamatake Honeywell Co Ltd センサ補償装置
US6738388B1 (en) * 1998-09-10 2004-05-18 Fisher-Rosemount Systems, Inc. Shadow function block interface for use in a process control network
US6294937B1 (en) * 1999-05-25 2001-09-25 Lsi Logic Corporation Method and apparatus for self correcting parallel I/O circuitry
DE10048808A1 (de) * 2000-09-29 2002-04-18 Bosch Gmbh Robert Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen
US7352715B2 (en) * 2001-11-30 2008-04-01 Cellnet Innovations, Inc. Time synchronization using dynamic thresholds
US7263090B2 (en) * 2002-02-01 2007-08-28 Viasat, Inc. System and method of timing and frequency control in TDM/TDMA networks
US6738608B2 (en) * 2002-02-12 2004-05-18 Qualcomm Incorporated Frequency-timing control loop for wireless communication systems
US7114091B2 (en) * 2002-03-18 2006-09-26 National Instruments Corporation Synchronization of distributed systems
JP4660058B2 (ja) * 2002-09-24 2011-03-30 株式会社東芝 監視計測用ネットワーク情報端末
US7230464B2 (en) * 2004-06-29 2007-06-12 Intel Corporation Closed-loop delay compensation for driver
US7325171B2 (en) * 2005-02-22 2008-01-29 National Instruments Corporation Measurement and data acquisition system including a real-time monitoring circuit for implementing control loop applications
JP4941753B2 (ja) * 2007-08-31 2012-05-30 横河電機株式会社 フィールド制御システム
JP5296419B2 (ja) * 2008-06-06 2013-09-25 光洋電子工業株式会社 ラダープログラムの変更方法等

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1173240C (zh) * 1995-08-15 2004-10-27 罗斯蒙德公司 具有自动调节的现场基地过程控制系统
US6864833B2 (en) * 2003-04-11 2005-03-08 Siemens Milltronics Process Instruments, Inc. Time-base generator with self-compensating control loop

Also Published As

Publication number Publication date
JP2011054167A (ja) 2011-03-17
JP5697380B2 (ja) 2015-04-08
GB201014259D0 (en) 2010-10-13
DE102010037221A1 (de) 2011-05-05
US20110054640A1 (en) 2011-03-03
GB2473131A (en) 2011-03-02
GB2473131B (en) 2015-04-01
CN102004472A (zh) 2011-04-06
US8340790B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
CN102004472B (zh) 调整过程控制系统中的控制回路时序的方法和装置
US10474115B2 (en) Execution windows for an input module of an industrial controller
KR102148943B1 (ko) 프로그래머블 컨트롤러 시스템, 그 컨트롤러
US7904184B2 (en) Motion control timing models
US7983769B2 (en) Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
CN103403692B (zh) 数据传输装置
EP3211829B1 (en) Master device, slave device, error monitoring system, and control method and control program of master device
US20200186420A1 (en) Communication System, Communication Apparatus, and Communication Method
JPH076128A (ja) データ交換のための伝送システム
EP3471353B1 (en) Method and apparatus for communication in a motor drive application
EP2568347A2 (en) Fieldbus device control system
CN211731920U (zh) 烟包包装机组控制系统
CN103973539B (zh) 运行自动化系统的方法
CN111052683B (zh) 网络系统
CN104871474B (zh) 使用异步通信的运动控制系统和控制器及其方法
EP3992735A1 (en) Control device
He et al. Modeling and simulation of PROFIBUS-DP network control system
CN110419009A (zh) 控制器以及控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant