CN1729653A - 优化链路调度的方法 - Google Patents
优化链路调度的方法 Download PDFInfo
- Publication number
- CN1729653A CN1729653A CN200380107211.5A CN200380107211A CN1729653A CN 1729653 A CN1729653 A CN 1729653A CN 200380107211 A CN200380107211 A CN 200380107211A CN 1729653 A CN1729653 A CN 1729653A
- Authority
- CN
- China
- Prior art keywords
- functional block
- scheduling
- group
- issue
- sequence
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008676 import Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 15
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000001934 delay Effects 0.000 abstract 1
- 101150109471 PID2 gene Proteins 0.000 description 24
- 101000609957 Homo sapiens PTB-containing, cubilin and LRP1-interacting protein Proteins 0.000 description 21
- 102100039157 PTB-containing, cubilin and LRP1-interacting protein Human genes 0.000 description 21
- 238000005070 sampling Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 239000000523 sample Substances 0.000 description 13
- 230000006872 improvement Effects 0.000 description 11
- 101100190466 Caenorhabditis elegans pid-3 gene Proteins 0.000 description 10
- 238000012905 input function Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01K—ANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
- A01K15/00—Devices for taming animals, e.g. nose-rings or hobbles; Devices for overturning animals in general; Training or exercising equipment; Covering boxes
- A01K15/02—Training or exercising equipment, e.g. mazes or labyrinths for animals ; Electric shock devices ; Toys specially adapted for animals
- A01K15/025—Toys specially adapted for animals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/4026—Bus for use in automation systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Environmental Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physical Education & Sports Medicine (AREA)
- Animal Behavior & Ethology (AREA)
- Zoology (AREA)
- Animal Husbandry (AREA)
- Biodiversity & Conservation Biology (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了一种用于改进通信网络中所用链路调度的方法。本方法广泛适用于基于调度通信的网络,在本文中通过基金会现场总线场景来描述。所述方法包括如下步骤:按照每个应用,根据功能块序列及其相关发布的相对优先级对它们进行调度,使得下列二者之间的延迟最小:某些功能块之间、某些功能块和发布之间;并且将某些发布分组。由此取得了一些优点如缩减等待时间、缩减调度长度和提高通信容量。
Description
发明背景
发明领域
本发明一般涉及通信网,更具体地说,涉及基于周期性执行的调度操作的通信网络。
现有技术说明
基金会TM现场总线(FOUNDATIONTM FIELDBUS)技术是由美国德州Austin现场总线基金会提供的一种开放技术。它是基于国际电工委员会61158现场总线标准的局域网型通信总线。该标准要求在周期性执行的调度内对总线上的某些周期性通信进行调度。
虽然基金会现场总线技术允许设备之间进行交互通信,但调度在某种程度上受到限制。例如,一次仅单个应用处理器设备中的一个功能块可以执行。此外,一次仅一个设备可以在链路上发布(即发布(publication)或反算发布(back-calculation publication)),并且客户-服务器活动只可以在发布之间进行。
功能块通常按“自然顺序”调度,从输入到输出,沿主连接进行。具体地说,当许多设备共享链路时,“自然顺序”调度往往产生大量相对“较短”的发布间隔。这些“短”间隔常常反映带宽被浪费,因为大量排队的通信和排在其后的所有通信均会延迟,直到调度中产生足够大的间隔为止。例如,显示呼叫(call-up)和操作员站(operator station)显示呼叫经常会受到最严重的影响,因为它们一般需要相对较大的间隔来满足巨大的信息传输需求。因此,每个宏周期传送的客户-服务器消息数量受到限制,达不到最优应用性能。
“自然顺序”调度还经常产生相对较长的调度,频繁地造成相当大的环路等待时间。由于较大的等待时间反映的是较旧的取样和无效的性能,因此在关键的控制应用中出现较大的等待时间常常是一个严重问题。
因此,需要一种改进的调度方法。这种方法应该可以基于固定的带宽实现更高的通信利用率;缩短链路调度表(link schedule)的总调度部分;以及使环路等待时间最小以实现较好的控制。
发明概述
至少在优选实施例中,本发明的目的在于克服或从本质上减轻现有技术的一个或多个缺点或提供有效的替代方案。
本发明的目的还在于提供一种用于优化混合的调度/未调度的网络调度的方法(混合网络是一种其中一些实施带宽调度,一些不实施带宽调度的网络),包括现场总线,具体为基金会现场总线。例如,通过区分功能块序列及其相关发布的调度优先级,并在调度过程中使某些延迟最小,本发明方法可产生减小环路等待时间的链路调度表。
因此,本发明提供了一种为根据周期性执行的调度进行通信的网络创建调度表的方法,它包括如下步骤:首先识别需要执行操作的多个功能块,然后将每个功能块标识为一个或多个组的成员。接着,区分这些组的优先级,使得每个组具有相对于其它组的优先级,然后按基于每组优先级的顺序一次一组地调度至少含一个未调度功能块的每个组,以在所述网络上进行通信。
本发明通过调度不同设备中的某些功能块,以使它们各自的调度时间至少部分重叠,从而缩减了链路调度表的调度部分(即,例如与“自然调度”相比较)。因此,可以容纳更多的活动,并可以缩短宏周期。
根据本发明方法,还可将发布分组,以便消除潜在的发布间隔。或者,因为较大的间隔有允许发出较长未调度消息的更大可能性,所以可以将一个发布设在两个其它发布之间,以使所形成的两个发布间隔具有非常大和非常小的间隔。例如,因为反算发布没有严格的定时要求,所以通常可以对其进行调度,使其在反算发布和非反算发布之前或之后立即执行。这样,减少了浪费的带宽,并提高了应用性能。
最后,务必要注意的是,虽然本说明书中的思想是在单个应用处理器设备场景中描述的,但本方法同样适用于多处理器设备。在多处理器场景中,每次设备中可以有一个以上的功能块执行。另一方面,就以上对并发或部分并发、发布的上述限制而言,多处理器设备仍将被作为“单个”设备处理。
附图简介
通过结合附图理解以下针对本发明优选实施例的详细说明,可清楚本发明的其它目的、特征和优点,附图中:
图1是与示例1相关的方框图。
图2是与示例1相关的自然调度的时序图。
图3是与示例1的优化调度相关的时序图。
图4是与示例2相关的方框图。
图5是与示例2的自然调度相关的时序图。
图6是与示例2的优化调度相关的时序图。
图7是与示例3相关的方框图。
图8是与示例3的自然调度相关的时序图。
图9是与示例3的优化调度相关的时序图。
图10是与示例4相关的方框图。
图11是与示例4的自然调度相关的时序图。
图12是与示例4的优化调度相关的时序图。
发明的详细说明
定义
以下为方便起见按一般类别分组的术语在本文中使用时具有如下含义:
a.
等待时间
环路等待时间:输入功能块的处理取样到控制单元被命令去校正输出功能块的偏差为止其间经过的时间。
临界环路等待时间:最高优先级环路中输入功能块的过程取样到命令控制单元校正输出功能块的偏差之间经过的时间。
等待时间系数:“优化的”临界环路等待时间与“自然临界环路等待时间”之比。
等待时间改善:100%减去等待时间系数,以百分比形式表示。
b.
发布
发布:网络上可为一个或多个节点同时得到的消息,常常是受调度的。
非反算发布(Non-Back-Calculation Publication):与反算(Back-Calculation)信息不关联的发布。
反算发布(Back-Calculation Publication):与反算信息相关联的发布,通常由先前执行的块在后续执行周期用于初始化、防止复位终止(reset windup)和提供状态信息。
发布间隔:一个发布的结束到下一个受调度的发布的开始之间的时间。
与任何通信相关联的额外时间(或“相关时间”):因任何消息损失的时间的估计平均长度。它可以包括例如:归因于访问延迟的时间;因下一排队消息超出可用时间,与“内务管理”活动(如传递令牌、探测节点、分配时间等)损失的时间。在本文的示例中,假定相关时间是15毫秒。
可用的发布间隔(或可用间隔):发布间隔中可用于不同于发布或反算发布的消息的部分。当发布间隔等于或大于“任何通信所需的最小时间”时,通过从“发布间隔”中减去“相关时间”来计算可用间隔。此定义基于如下假设:最短的未调度事务耗用大约15毫秒;以及“与任何通信相关联的额外时间”假定大约为15毫秒,当它大于30毫秒时,发布间隔就变成可用。因此,在本文的示例中,“任何通信所需的最小时间”是30毫秒。
未调度通信所需的最小时间(或“最小时间”):链路上未调度的通信(包括客户/服务器交互)为完全执行所需的最小时间长度。对于本文的示例,假定“任何通信所需的最小时间”大于30毫秒。
发布间隔系数:自然宏周期的可用间隔与优化宏周期的可用间隔之比。
发布改善:100%减去发布间隔系数,以百分比形式表示。
c.
宏周期
宏周期利用系数:优化宏周期时间与自然宏周期时间之比,以百分比形式表示。
宏周期的改善:100%减去宏周期利用系数,以百分比形式表示。
自然宏周期:沿主连接,以输入到输出的顺序安排功能块执行所产生的宏周期,其中每个发布在计算它的功能块执行之后立刻发生。
d.
功能块/序列
功能块(或块):具有输入和/或输出、可与其它功能块互连并对其输入执行算法以产生输出的对象。
输入功能块(或输入类功能块):一般以从过程导出的值开始处理的功能块(例如,A1、D1、PI)。此处采用术语“一般”是因为在大多数情况中,输入块位于一串功能块的开始位置。但是,也有一些本领域技术人员会认识到的模糊情况。
输出功能块(或输出类功能块):通常以向过程提供值而终结的功能块(AO、DO、CAO、CDO)。此处采用术语“一般”是因为在大多数情况中,输出块位于一串功能块的结束位置。但是,可以取输出值并将其连接到另一个功能块以进行辅助计算,或甚至出于演示或测试目的将其作为模拟工厂值(simulated plant value)环回。这些是本领域技术人员会认识到的模糊情况。
控制功能块:具有如下基本功能的功能块:将受过程影响的值与设定点(setpoint)或目标值比较,并提供一个或多个输出,这些输出用于以某种方式控制过程达到设定点或目标值,这一般通过输出功能块来进行。
功能块序列(或序列或功能块序列):本文中的“序列”定义为一系列功能块,其中术语序列定义为:
a)一组功能块,其中与每个功能块(在序列开始位置的功能块除外)相关联的一个输入取决于直接在前功能块的输出;以及
b)不输入另一个功能块的输出或输出另一个功能块的输入的单个功能块。
控制环路序列:以输入块开头并以输出块结尾的功能块序列。
监视序列:以输入块开头且不包含控制块或输出块的序列。因此,“监视序列”是非控制环路序列或级联环路序列的任何序列。
主连接输入:按FOUNDATION FIELDBUS功能块应用过程规范的形式模型定义且由每种功能块的设计者指定或由特定应用的用户以其它方式指定的“主输入”、“过程变量”或“级联输入”。
主连接输出:按FOUNDATION FIELDBUS功能块应用过程规范的形式模型定义且由每种功能块的设计者指定或由特定应用的用户以其它方式指定的“主输出”。例如,OUT、OUT_D等。
主连接:按FOUNDATION FIELDBUS功能块应用过程规范的形式模型定义或由特定应用的用户以其它方式指定的“主连接输入”到“主连接输出”的引用。
e.
级联
级联环路序列:以输入块开头并以控制功能块结尾的功能块序列,其中的功能块又(直接或间接)向下行流控制环路序列的功能块提供输出。
设定点(或控制目标):下行流或内部控制块用作它也要接收的主过程变量的目标的值。上行流或外部级联环路序列的控制功能块向下行流或内部的级联环路序列的控制功能块提供设定点。
下行流:指其输入由所引用的功能块(referenced function block)的输出提供的功能块或功能块序列。
上行流:指其输出提供给引用功能块(referencring functionblock)的输入的功能块或功能块序列。
内部控制环路:由另一个序列为其提供设定点(控制目标)的控制环路序列或级联环路序列。内部控制环路是相对于外部控制环路的下行流。
外部控制环路:向另一个序列提供设定点(控制目标)的控制环路序列或级联环路序列。外部控制环路是相对于内部控制环路的上行流。
f.取样偏差(Sample-Skew)/无取样偏差
取样偏差:多个输入(或样值)集的取样时间之间的时间差。当一起使用一组输入功能块时,如在涉及多个取样位置的每一个的计算(例如多个取样位置或质量流(包括温度、压力和压力差)的平均计算)或多个取样位置的比较(最小值、最大值和中间值)时,每次取样彼此的相对时间对于应用可能重要,也可能不重要。“取样偏差”指示每次取样的相对时间对于应用不重要。
无取样偏差:多个输入(或样值)集的取样时间之间没有时间差。当一起使用一组输入功能块时,如在涉及多个取样位置的每一个的计算(例如多个取样位置或质量流(包括温度、压力和压力差)的平均计算)或多个取样位置的比较(最小值、最大值和中间值)时,每次取样彼此的相对时间对于应用可能重要,也可能不重要。“无取样偏差”指示每次取样的相对时间对应用很重要。
缩略语
本文中采用如下缩略语,其含义定义如下:
A1-模拟输入功能块
Arith-算术计算功能块
AO-模拟输出功能块
CAO-复杂模拟输出功能块
D1-离散输入功能块
DO-离散输出功能块
CDO-复杂离散输出功能块
PI-脉冲输入功能块
Integrator-积分器功能块
ISe1-输入选择器功能块
PID-比例积分微分控制功能
SP(CASJN)-设定点输入。
PV(IN)-过程或主变量(或值)输入。
优选实施例的操作
虽然下文所述步骤和子步骤是按顺序执行的,但本领域技术人员显然明白可以按替代顺序执行这些步骤和子步骤。
1.识别功能块序列
为启动调度过程,必须识别某些功能块组。最好,这些组是功能块“序列”。但是,本领域技术人员显然明白,在替代实施例中还可以标识许多其它非“序列”的“组”。
此外,虽然上述识别序列的方法是优选方法,但本领域技术人员显然清楚可以许多种次优的方式来标识功能块序列或其它功能块组。而且,在替代实施例中可以将每个单独的功能块视为一个单独的组。
1.1创建每个序列,最好一次一个序列,方法是:从每个输入类功能块开始并沿每条从该输入类功能块的主连接输出到后续“引用”功能块所用输出的主连接(通过“引用”功能块的主连接输入,如IN、IN_D、PV、PV_D、CAS_IN、CAS_IN_D、SEL_n等)继续。如果没有对主连接输出的引用,则将该单个块视为一个序列-无论该块是否是输入类功能块、根据1.4节的功能块等。
1.1.1如果引用块已经包含在此序列中,则不包含该引用块,因为这会形成不需要的环形引用。
1.1.2引用块的输入连接是(非控制选择器块或输出分离器块等的)控制块的级联设定点连接,该序列终结而不包含该引用块,因为它将包含在另一个控制环路序列中。
1.1.3如果有一条以上的主连接从输入块输出,则根据1.1节将每条主连接视为“单独的”序列并予以评估,这最好在完全识别出该序列之后进行。
1.2然后,沿每条从“旧引用”块的主连接输出开始,到“新引用”块使用的输出的主连接继续。但是,不应该沿输出类块的输出继续。
因此,如果从1.1节直接到达本小节,则“旧引用”块是输入类功能块。另一方面,如果从1.3节直接到达本小节,则“新引用”块实质上变成了“旧引用”块。
1.2.1如果新引用块已经包含在此序列中,则不包含该引用块,因为这会形成不需要的环形引用。
1.2.2如果“新引用”块的输入连接是(非控制选择器块或输出分离器块等的)控制块的级联设定点连接,则该序列终结而不包含该引用块,因为它将被包含在另一个控制环路序列中。
1.2.3如果有一条以上的主连接从该“旧引用”块输出,则根据1.1节将每条主连接视为“单独的”序列并予以评估,这要在完全识别出该序列之后进行。
1.3重复步骤1.2,直到没有对主连接输出的引用为止。
1.4如果还有根据上述规则未在序列中标识的任何功能块,则:查找不具有输入连接的每个块;如同步骤1.1一样开始新的功能块序列;以及按规则1.1到1.3处理,将其如同输入类功能块来处理。
例如,虽然大多数功能块序列以输入类块开始,但用于专门目的(如演示或测试)的人工控制的输出类块或功能块序列可以具有以非输入类块开始的序列。
1.5在评估1.4之后,如果还有根据上述规则未在序列中标识的任何功能块,则选择这些剩余功能块中的任何一个,如同步骤1.1一样开始新的功能块序列。根据规则1.1到1.3处理,将该块如同输入类功能块来处理。因此,1.5节主要但不排他地用于处理环形功能块引用问题。
1.6重复1.5直到没有尚未被标识为功能块序列部分的功能块为止。
例如,虽然大多数功能块序列以输入类块或没有输入连接的块开始,但原理上一个序列还可以由一系列构成环路的块组成,以使该序列中的每个块具有输入连接。
2.区分功能块序列的优先级
接着区分这些序列的优先级。在优选实施例中,根据周期类型和周期长度来区分这些序列的优先级。
2.1涉及控制的序列的优先级高于所有未涉及控制的序列的优先级。例如,控制环路序列和级联环路序列具有比监视序列更高的优先级。
2.2在涉及控制的(例如控制环路序列和级联环路序列)和未涉及控制的(例如监视序列)每种类别中,执行较快(即具有较短周期)的功能块序列具有比执行较慢(即具有较长周期)的功能块序列更高的优先级。
2.3当控制序列和级联序列具有相同的周期长度时,控制环路序列具有比级联环路序列更高的优先级。这是因为控制序列采用直接控制,而级联序列通过为下行流控制环路序列或另一个级联环路序列提供设定点来间接控制。
2.4对于基于2.1到2.3的优先级相等的那些功能块序列(例如周期均为2秒的两个级联序列),这些序列的未调度块和发布需要占用链路调度表中较长时间(即功能块执行时间加相关发布时间)的那些功能块序列具有比占用较短时间的那些功能块序列更高的优先级。基于“打破均衡(tie-breaking)”规则的原理,占用较长时间的序列更可能发生数量更多的调度冲突。
其它实施例只采用类型;只采用周期长度;采用实施者的判断;和/或采用与序列、功能块和/或打破“均衡”调度相关的任一因素或因素的组合。有许多这样的其它方法,而且对本领域技术人员是显而易见的。
3.创建链路调度表
接着,通过基于下述优先级将块执行和发布指定到链路调度表中的方式来对序列进行调度。在调度这些序列之后最好将调度表规格化,而替代实施例可以在其它时间执行规格化。
3.1最好在调度之前确定宏周期长度(即持续时间)。长度最好是参与功能块(contributing function block)的周期的最小公倍数。不过,此操作可以在其它时间执行,本专业技术人员容易知道这样的选择。
3.2从余下的最高优先级功能块序列开始,一次一个地将与序列相关的非反算元素(即功能块和非反算发布)添加到链路调度表中,持续到所有序列均被指定为止。因此,在开始指定与次高优先级功能块序列的功能块相关联的“尚未调度”元素之前,指定与功能块序列中每个功能块相关联的每个“尚未调度”元素。这样,每个功能块和每个必需的功能块发布只被指定一次。
3.2节中所采用的“发布”指非反算发布。此外,第3节中的所有调度受下列附加条件约束:
3.2(A)任何给定设备内的任何两个功能块的调度时间不得重叠。
3.2(B)任何两个发布的调度时间不得重叠。
此外,最好对发布和功能块执行进行调度,使得下列二者之间的延迟最小:
3.2(C)生成无需发布的输出的功能块执行与直接输入这种输出的功能块执行之间;
3.2(D)产生发布的功能块的执行与该产生发布的功能块所产生的发布之间;
3.2(E)输入发布的功能块执行与输入发布的功能块所输入的发布之间。
3.2.1首先在宏周期的相对的“零”时刻调度第一(即最高优先级的)功能块序列。但是,本领域技术人员会知道其它选择。
3.2.2通过3.2.2.1节所述的逆向顺序(reverse order)调度,以逆向顺序对提供输出或产生发布(所述输出或发布由链路调度表内先前指定的功能块接收)的功能块序列进行调度。即,调度应该从“待调度”功能块序列的结尾进行到开始,其中,最好实现有关3.2(C)、3.2(D)和3.2(E)的最小延迟。
因此,应用附加条件3.2(A)和3.2(B),以使“待调度”元素适当后移,从而使冲突元素之间的延迟最小。即:
3.2.2(A)因为设备中两个功能块的调度时间不得重叠,所以尽可能在冲突之前使“待调度”功能块开始。
3.2.2(B)因为任何两个发布的调度时间不得重叠,所以尽可能在此冲突之前调度发布。
3.2.2.1逆向顺序调度包括首先将“待调度”序列中的功能块执行或发布的开始时间调度为尽可能靠近已在调度表中的需要它的元素。(因此,逆向顺序调度在很大程度上与如3.2.3.1节所述的正向顺序(forward order)调度相反。)即,将“待调度”功能块执行的结束时间调度为尽可能靠近需要它的元素的开始。因此,这种调度显然需要定义这些“待调度”元素的开始,以便考虑每个元素的持续时间。
然后以逆向顺序一次一个地对“待调度”序列中或与之相关联的需要调度的所有其它功能块和发布进行调度。同样,依据3.2(C)节、3.2(D)节和3.2(E)节,但遵循3.2.2(A)节和3.2.2(B)节执行调度,以使“待调度”序列中的功能块和发布之间的延迟最小。
3.2.2.2如果选择无取样偏差,则应该检验具有多个主输入的功能块,以查看直接在前提供块的执行时间是否完全相同。如果不相同,则应该调整后面的一个或多个功能块,以便与最早的重合,从而与避免执行时间和发布冲突相一致。
3.2.3以如3.2.3.1节所述的正向顺序对直接利用链路调度表内先前指定的功能块的输出或直接利用发布的功能块序列进行调度,一次调度一个,并使延迟最小。此外,调度应该从“待调度”功能块序列的开始进行到结尾,且最好使延迟最小。
相应地,应用附加条件3.2(A)和3.2(B),使得:
3.2.2(A)因为设备中两个功能块的调度时间不得重叠,所以在此冲突之后即可能早地使“待调度”功能块开始。
3.2.2(B)因为任何两个发布的调度时间不得重叠,所以在此冲突之后即可能早地开始发布。
因此,应用附加条件3.2.3(A)和3.2.3(B)使“待调度”元素得以适当的提前,以将冲突元素之间的延迟减至最小。
3.2.3.1正向顺序调度包括首先将“待调度”序列中第一功能块的执行开始调度为尽可能靠近提供所需输出(或发布)的块(或发布)。
然后从提供所需输出或发布的元素,按正向顺序一次一个地对“待调度”序列中或与之相关联的需要调度的所有其它功能块和发布进行调度,并使延迟最小。同样,依据3.2(C)、3.2(D)和3.2(E),但遵循3.2.2(A)和3.2.2(B)执行调度,以使“待调度”序列中功能块和发布之间的延迟最小。因此,冲突只需将“下一个元素”调度为尽可能靠近它应该尾随的元素即可。
3.2.2.2如果选择无取样偏差,则应该检验具有多个主输入的功能块,以查看直接在前提供块的执行时间是否完全相同。如果不相同,则应该调整后面的一个或多个功能块,以便与最早的重合,从而与避免执行时间和发布中的冲突相一致。
3.2.4为等待时间目的,将满足如下条件的功能块序列视为独立的:不直接利用已指定到链路调度表中的功能块的输出(或不直接利用发布),且不提供输出连接或产生发布,其中输出连接或发布由先前调度的功能块接收。因此,该功能块序列被指定到链路调度表中尽可能靠近宏周期开始处的位置(且该序列的任何元素之间的延迟最小)。
3.2.4.1此外,最好在宏周期内调整“待调度”序列中的任何部分,以使该“待调度”序列中元素之间的延迟最小。或者,如果涉及到发布,则另一种与使延迟最小相比属于次优的选择是将新序列安排为使同样多的新发布紧邻另一个已经指定的发布(在之前或之后)。这样,可以消除一个或多个发布间隔。这最好按照3.3执行。
3.2.4.2如果选择无取样偏差,则应该检验具有多个主输入的功能块,以查看直接在前提供块的执行时间是否完全相同。如果不相同,则应该调整后面的一个或多个功能块,以便与最早的重合,从而与避免执行时间和发布中的冲突相一致。
3.3在已经将所有功能块序列的非反算发布已调度元素指定到调度表(即,功能块和非反算发布)之后,则每个反算发布得到了调度。可以将其中每个发布调度为在其可用之后和被使用之前的任何时间发生(通常在下一个执行周期内)。满足此条件的发布间隔是合格的发布间隔。
优化目标是尽可能安排反算发布与另一个已经指定的发布紧邻(在之前或之后,即属于其中任一类),以使“潜在的发布间隔”最小(如3.3节上下文中所定义的那样)。
如果存在正好适合待调度发布的任何一个合格的发布间隔,则应该将发布置于任何一个完全适合的间隔中。这样,使“潜在的发布间隔”最小;实际上,通过消除使该间隔完全最小。
如果有一个合格的发布间隔但它不是“完全适合”,则最好将该发布置于与另一个先前调度的发布邻接,以使此情况下固有的两个“潜在发布间隔”之一最小(即完全消除)。如果无法使该发布与先前调度的发布邻接,则应将其设置为使两个“潜在发布间隔”中的较大者最大化。即,如果发布邻接不可能,则最好将其设置为使因其存在而造成的两个“潜在发布间隔”在大小上尽可能不同(即一个大,一个小)。
同样地,如果存在一个以上合格的发布间隔且均不完全适合,则应该将反算发布安排在最小的发布间隔中,以将较大的发布间隔保留用于较长的消息。此外,如上所述,使较小的“不完全适合的发布间隔”中固有的两个“潜在发布间隔”中的较大者最大化。其基本原理是,大的“潜在发布间隔”比两个较小发布间隔具有被使用的更大可能性,因为未调度的消息在长度上有所不同,较长的消息可能阻塞队列中正在等待通过网络传输的其它消息。
最后,虽然所述方法最好既包括步骤3.2又包括步骤3.3,但根据步骤3.3的反发布调度也可以结合其它调度算法来执行。
3.4在指定了所有调度元素之后,查找时间(时间可能是负值)最早的调度元素,并将其调整为在宏周期内具有零的偏移量,并按相同的偏移量调整其余所有元素,以便在调度表内保持相同的相对位置。此外,因为并非所有调度在持续时间上可以足够短,以致可以在给定宏周期内,所以最好执行有效性检查,并将错误呈示给用户。
优选实施例的示例
如下示例说明本发明方法的应用,并强调其优点。
4.0示例1:激励器中的两个简单的控制环路
如图1所示,当简单环路控制与激励器共存时,每个环路只有一个从发送器到激励器的发布。
4.1自然链路调度表
如下给出并反映在图2中的自然链路调度表指示,第一环路的功能块首先按自然顺序执行。第二环路顺序完全相同,但在第一环路全部执行完毕之后才开始。(时间偏移量以毫秒计。)
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec(执行) 0 30 30
AI1 PUB(发布) 30 14 44 827 812
PID1 exec 44 70 114
AO1 exec 114 45 159
AI2 exec 159 30 189
AI2 PUB 189 14 203 145 130
PID2 exec 203 70 273
AO2 exec 273 45 318
972 942
4.2优化的链路调度
优化的链路调度如下及图3所示。假定将第一序列指定到调度表中第二序列之前,则在宏周期开始处按3.2.4将第二序列指定到链路。然后按3.2.4 1对其进行调整,以使元素之间的延迟最小。这样,如以下及图3中所示,宏周期的整个调度部分被大大缩短。(时间偏移量以毫秒计。)
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
AI1 PUB 30 14 44 972 957
PID1 exec 44 70 114
AO1 exec 114 45 159
AI2 exec 14 30 44
AI2 PUB 44 14 58 0 0
PID2 exec 58 70 128
AO2 exec 128 45 173
972 957
4.3改善的比率
由于使两发布彼此相邻,所以发布系数有轻微的改善。但是,最显著的是宏周期利用率有46%的改善。
等待时间系数: 100%
等待时间改善: 0%
发布间隔系数: 98%
发布改善: 2%
宏周期利用系数: 54%
宏周期利用率改善: 46%
5.0示例2:发送器中两个简单的控制环路
虽然功能与前一个示例(两个简单控制环路)完全相同,但链路调度不同。当简单环路控制与发送器共存时,有两个发布:一个是从控制器到激励器的输出,另一个是从激励器返回到控制器的反算参数。如图4所示,这些对上述两个环路中的每一个发生。
5.1自然链路调度
如下及图5所示,自然链路调度首先执行第一环路的功能块,其中一计算出值就完成PID1输出的发布,一旦发布激励器的反算可用就将其发布。第二环路顺序完全相同,但直到第一环路,包括反算全部完成才开始。
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
PID1 exec 30 70 100
PID1 PUB 100 14 114 754 739
AO1 Exec 114 45 159
AO1-BK PUB 159 14 173 45 30
AI2 exec 173 30 203
PID2 exec 203 70 273
PID2 PUB 273 14 287 100 85
AO2 Exec 287 45 332
AO2-BK PUB 332 14 346 45 30
944 884
5.2.优化的链路调度
假定将第一序列指定到调度表中第二序列之前,则在宏周期开始按3.2.4将第二序列指定到链路。然后按3.2.4 1对其进行调整,以使元素之间的延迟最小。因此,如下及图6所示,宏周期的整个调度部分被大大缩短,从而允许在其中执行更多的调度。
反算发布彼此相邻。因此,假定反算发布无法早于它们相应的PID功能块执行完成时发出,则无法使它们分割的原始发布间隔更加不等;并且正好在下一周期它们各自需要的PID功能块执行之前发出它们将形成有些相等的发布间隔。
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
PID1 exec 30 70 100
PID1 PUB 100 14 114 913 898
AO1 Exec 114 45 159
AO1-BK PUB 159 14 173 31 16
AI2 exec 14 30 44
PID2 exec 44 70 114
PID2 PUB 114 14 128 0 0
AO2 Exec 128 45 173
AO2-BK PUB 173 14 187 0 0
944 914
5.3改善的比率
因为每个环路都没有可删除的等待时间,所以无法取得等待时间方面的改善。但是,由于使两个发布彼此相邻,所以发布系数上有轻微改善。但是,最显著的是宏周期利用率有46%的改善。
等待时间系数: 100%
等待时间改善: 0%
发布间隔系数: 98%
发布的改善: 2%
宏周期利用系数: 54%
宏周期利用率的改善: 46%
6.0示例3:三信号选择器
当采用三个冗余输入时,输入选择器功能块选择其中一个输入,或所有输入或一些输入的平均值,具体取决于配置目标。图7显示了采用三信号选择器的例子。
6.1自然链路调度
如下及图8所示,自然链路调度执行立即发布其输出的第一AI块。然后,第二AI块执行,并立即发布其输出。接着,第三AI块执行,并立即发布其输出。最后,输入选择器块执行,之后PID和AO块接着执行。
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
AI1 PUB 30 14 44 898 883
AI2 exec 44 30 74
AI2 PUB 74 14 88 30 0
AI3 exec 88 30 118
AI3 PUB 118 14 132 30 0
ISe1 exec 132 30 162
PID exec 162 70 232
AO exec 232 45 277
958 883
6.2优化的链路调度
为了使偏差最小,可以选择“无取样偏差”,并且可以在三个独立的设备上对所有三个信号同时取样。因此,如下其图9所示,所有三个AI块同时在0毫秒阶段执行。然后,ISe1、PID和AO依次执行。因此,利用数据的功能块不会遇到不同输入引起的等待时间不同的情况,从而大大改善了宏周期利用率。
另一方面,如果已将无取样偏差关闭,则AI1、AI2和AI3将分别在0、14和28毫秒时刻开始执行,而它们各自的发布仍在每个AI完成执行之后立刻按调度顺序执行,即在30、44和58毫秒时刻执行。不过,无论AI块执行是同时进行还是偏移执行,它们始终必须按优先级分别进行发布。
调度表
功能 开始 长度 结束 发布间 可用间
隔 隔
AI1 exec 0 30 30
AI1 PUB 30 14 44 958 943
AI2 exec 0 30 30
AI2 PUB 44 14 58 0 0
AI3 exec 0 30 30
AI3 PUB 58 14 72 0 0
ISe1 Exec 72 30 102
PID Exec 102 70 172
AO Exec 172 45 217
958 913
6.3改善的比率
通过并行执行所有A1,可以使等待时间和宏周期利用系数改善22%。通过彼此相邻地发布所有三个发布,可以消除两个小间隔,从而提高链路带宽对其它用户的可用性。
等待时间系数: 78%
等待时间改善: 22%
发布间隔系数: 94%
发布的改善: 6%
宏周期利用系数: 78%
宏周期改善: 22%
7.0示例4:三个级联
在级联应用中,最外层的AI功能块通常对移动最慢的过程变量(例如温度)取样,而最里层的AI功能块通常对移动最快的过程变量(如压力或流量)取样。图10给出了一种典型应用的示例。
7.1自然链路调度
如图11所示,自然链路调度执行第一AI功能块及其控制器,然后沿每个设备内的连接路径,从AI功能块开始向AO功能块继续。它还包括执行在自然图示位置上的积分器功能块。
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
PID1 exec 30 60 90
PID1 PUB 90 14 104 136 121
AI4 exec 104 30 134
AI4 PUB 134 14 148 30 0
AI2 exec 148 30 178
PID2 exec 178 60 238
PID2 PUB 238 14 252 90 75
PID2-BK PUB 252 14 266 0 0
AI3 exec 266 30 296
AI3 PUB 296 14 310 30 0
Arith exec 310 35 345
Integrator exec 345 35 380
PID3 exec 380 60 440
PID3-BK PUB 440 14 454 130 115
AO exec 454 45 499
416 311
7.2优化的链路调度
如下序列表给出示例4中的序列并区分这些序列的优先级。
序列表:包括基于图10的类型和周期
序列ID | 块序列 | 类型+ | 最慢周期 | 最快周期 | 周期一致性 | 优先级 |
1 | AI3-Arith-PID3-AO | 控制环路 | 0.5秒 | 0.5秒 | 均匀 | 1 |
2 | AI3-Arith-积分器 | 监视 | 0.5秒 | 0.5秒 | 均匀 | 5 |
3 | AI4-Arith-PID3-AO | 控制环路 | 2秒 | 0.5秒 | 不均匀 | 3 |
4 | AI4-Arith-积分器 | 监视 | 2秒 | 0.5秒 | 不均匀 | 5 |
5 | AI2-PID2 | 级联环路 | 1秒 | 1秒 | 均匀 | 2 |
6 | AI1-PID1 | 级联环路 | 2秒 | 2秒 | 均匀 | 4 |
+:输入到输出块序列是控制环路序列
输入到控制功能块的序列是级联环路序列
输入块序列或输入到其它块序列是监视序列
利用以上序列表和如下所述的步骤创建优化的链路调度表。按如下步骤创建如下及图12所示的优化的链路调度表:
A首先调度序列ID#1,因为它是最高优先级的未调度序列。它是根据速度(5秒)及类型(控制)的最高优先级。
1.AI3 exec
2.AI3 PUB
3.Arith exec
4.PID3 exec
5.AO exec
B.然后,相对于PID3的输入需要,将次高优先级的环路及其相关发布ID#5“拖入”现有调度表中,从而避免与执行和发布的任何潜在冲突。选择序列ID#5作为第二序列是因为,它在剩余的非监视类型序列(即序列3、5和6)中具有“最小”(最快)的周期,并且是“级联”序列。正好在执行前,PID3 exec需要序列功能块(AI2-PID2)的输出,由此根据该需要以逆向顺序调度PID2 PUB。
6.PID2 PUB
7.PID2 exec
8.AI2 exec
C.序列ID#3和#6均涉及控制,未指定的部分以2-秒周期执行。但是,序列ID#3优先,因为它是控制序列而ID#6是级联序列。由于该序列的输出由算术功能块使用,故根据该需要以逆向顺序对其进行调度。但是,因为AI3正好在执行算术功能块之前发布它的输出,所以AI4的发布后移进行,以便它正好在AI3发布开始之前完成。
9.AI4 PUB
10.AI4 exec
D.将涉及控制的唯一剩余序列标识为序列#6。此级联序列以PID1的发布结束,该发布为先前调度的PID2功能块所需要。因此,将PID1 PUB调度为正好在PID2执行之前完成。此外,还将PID1调度为正好在调度该发布之前完成;并将AI1块调度为正好在PID1块执行之前执行完成。
11.PID1 PUB
12.PID1 exec
13.AI1 exec
E.此时,已没有涉及控制且含未调度功能块的序列。因此,接下来调度含未调度功能块的监视序列(即序列#2和#4)。因为AI3、AI4及算术功能块已经得到调度,所以积分器功能块是这两个序列中剩下的唯一未调度功能块。因此,接下来可以任选其一来调度。
因为该积分器的输入取决于算术功能块的执行,所以将其调度为尽可能在算术功能块执行完成之后执行。但是,因为积分器驻留在与PID3和AO(它们先前已依据其较高优先级作了调度)相同的单应用处理器中,所以无法在AO完成执行之后立刻调度积分器。
12.Integrator exec
F.最后,按照3.3,在反算发布的“可用”到“需要”的时间范围内调度反算发布,以使它们与其它发布相邻。PID3是级联控制块中最里面的控制块,因而它具有较高的优先级,然后调度PID2。(PID1无需发布它的反算输出,因为没有功能块需要它。)
更具体地说,当PID3完成执行时,PID3 BK就可供发布,并且其发布必须在PID2开始执行之前完成。因此,对它的调度可以在PID3完成之后宏周期结束之前或宏周期开始一直到PID2开始执行的时间(减去其发布时长)内进行。在这些范围内只有一个其它发布,即PID1的发布被调度。因为它不能在那之后发布(即太迟),所以正好在PID1PUB之前对其进行调度。因此,此邻接安排消除了根据3.3节的“潜在发布间隔”。
当PID2完成执行时,PID2 BK就可供发布,并且它的发布必须在PID1开始执行之前完成。对它的调度可以在PID2完成之后宏周期结束之前,或宏周期开始到PID1开始执行的时间(减去其发布时长)内进行。在这些范围内只调度了一个其它发布,即PID2的发布。因为它不能在PID2发布之前发布(即它尚未就绪),所以正好在PID2的发布之后对其进行调度,从而消除3.3节中的“潜在发布间隔”。
13.PID3 BK PUB
14.PID2 BK PUB
因此,优化的链路调度表为:
调度表
功能 开始 长度 结束 发布间隔 可用间隔
AI1 exec 0 30 30
PID1 exec 30 60 90
PID1 PUB 90 14 104 0 0
AI4 exec 85 30 115
AI4 PUB 115 14 129 11 0
AI2 exec 74 30 104
PID2 exec 104 60 164
PID2 PUB 164 14 178 21 0
PID2-BK PUB 178 14 192 0 0
AI3 exec 99 30 129
AI3 PUB 129 14 143 0 0
Arith exec 143 35 178
Integrator exec 283 35 318
PID3 exec 178 60 238
PID3-BK PUB 76 14 90 384 369
AO exec 238 45 283
416 369
7.3改善的比率
通过利用并行执行以及将积分器和PID3-BK PUB的执行移至最后控制元素的执行之后,使最关键环路的等待时间改善了21%,以及使宏周期利用系数改善了43%。通过彼此相邻地执行发布,使发布有4%的改善。
等待时间系数: 79%
等待时间改善: 21%
发布间隔系数: 96%
发布的改善: 4%
宏周期利用系数:57%
宏周期改善: 43%
本发明主要作为一种优化基金会现场总线链路调度的方法描述。但是,本领域技术人员会理解,本发明并不局限于这种特定的应用领域,它还适用于任何基于周期性执行的调度工作的通信网络。
因此,本领域技术人员显然清楚,可以对本发明进行各种变更和修改而不背离所附权利要求书限定的本发明精神和范围。
Claims (24)
1.一种为根据周期性执行的调度进行通信的网络创建链路调度表的方法,所述方法包括如下步骤:
识别需要执行的多个功能块;
将每个所述功能块标识为一个或多个组的成员;
区分这些组的优先级,以使每个组具有相对于其它组的优先级;以及
按基于每组优先级的顺序一次一组地调度至少含一个未调度功能块的每个所述组,以在所述网络上进行通信。
2.如权利要求1的方法,其特征在于还包括如下步骤:
识别与每个功能块相关联的每个非反算发布。
3.如权利要求2的方法,其特征在于:所述组调度还包括使每个组内一个或多个元素之间的延迟最小。
4.如权利要求3的方法,其特征在于:所述组调度还包括使某些组之间的延迟最小。
5.如权利要求4的方法,其特征在于:所述组调度还包括使下列二者之间的延迟最小:
a)产生主连接输出的功能块的执行完成与直接输入所述产生主连接输出的功能块所产生的主连接输出的功能块的执行开始之间;
b)产生非反算发布的功能块的执行完成与所述产生非反算发布的功能块所产生的非反算发布之间;以及
c)输入非反算发布的功能块的执行开始与所述输入非反算发布的功能块所输入的非反算发布之间。
6.如权利要求5的方法,其特征在于:使所述延迟最小的步骤受如下限制条件约束:
a)功能块调度限制,其禁止与一个单应用处理器设备相关联的两个功能块的执行时间重叠;以及
b)发布调度限制,其禁止任何两个发布的执行时间重叠,由此禁止如下每种情况:两个非反算发布至少部分重叠;两个反算发布至少部分重叠;以及一个非反算发布与一个反算发布至少部分重叠。
7.一种为根据周期性执行的调度进行通信的网络创建链路调度表的方法,所述方法包括如下步骤:
识别需要执行的多个功能块;
将每个所述功能块标识为一个或多个组的成员;
基于至少下列一项区分这些组的优先级,以使每个组具有相对于其它所述组的优先级:
与各相应组关联的组类型;
与各相应组关联的周期长度;以及
按基于每组优先级的顺序一次一组地调度至少含一个未调度功能块的每个所述组,以在所述网络上进行通信。
8.如权利要求7的方法,其特征在于:还进一步基于组类型区分所述组的优先级,使得每个组具有在与各相应组关联的周期长度范围内相对于其它所述组的优先级。
9.如权利要求8的方法,其特征在于:区分所述组的优先级的所述步骤基于与各相应组关联的周期长度和与各相应组关联的组类型,其中:
相对较短的每个所述周期长度具有高于相对较长的每个所述周期长度的优先级;
属于监视类型的每个所述组具有低于不属于监视类型的每个所述组的优先级;以及
当级联类型组和控制类型组具有相等大小的周期长度时,所述控制类型组具有比所述级联类型组高的优先级。
10.如权利要求9的方法,其特征在于:所述组调度步骤还包括在满足如下条件时,在所述调度中尽可能早地调度含有至少一个已调度功能块的每个组:当该组中所有未调度块均是独立的,且所述独立组中的每个未调度块:
不产生被执行时间在所述调度内的功能块直接输入的主连接输出;
不产生被执行时间在所述调度内的功能块直接输入的非反算发布;
不直接输入执行时间在所述调度内的功能块所产生的非反算发布;
不直接输入执行时间在所述调度内的功能块所产生的主连接输出。
11.如权利要求10的方法,其特征在于:尽早调度的所述步骤还包括在所述调度内调整每个独立组中的未调度块,以使每个独立组内的一个或多个元素之间的延迟最小。
12.如权利要求11的方法,其特征在于:尽早调度的所述步骤还包括在所述调度内调整每个独立组中独立的未调度块,以使下列二者之间的延迟最小:
a)产生主连接输出的功能块的执行完成与直接输入所述产生主连接输出的功能块所产生的主连接输出的功能块的执行开始之间;
b)产生非反算发布的功能块的执行完成与所述产生非反算发布的功能块所产生的非反算发布之间;以及
c)输入非反算发布的功能块的执行开始与所述输入非反算发布的功能块所输入的非反算发布之间。
13.一种为根据周期性执行的调度进行通信的网络创建链路调度表的方法,所述方法包括如下步骤:
识别需要执行的多个功能块;
将每个所述功能块标识为一个或多个组的成员;
基于至少下列一项区分这些组的优先级,以使每个组具有相对于其它组的优先级:
与各相应组关联的组类型;
与各相应组关联的周期长度;以及
按基于每组优先级的顺序一次一组地调度至少含一个未调度功能块的每个所述组;
识别与需要执行的各相应功能块关联的任何反算发布;以及
在所述调度表内为每个反算发布指定在与所述相应反算发布相关联的合格时间窗口范围内的发布时间,以使至少第一潜在发布间隔最小,或使第二潜在发布间隔最大。
14.如权利要求13的方法,其特征在于:还进一步基于组类型区分所述组的优先级,使得每个组具有在与各相应组关联的周期长度范围内相对于其它所述组的优先级。
15.如权利要求14的方法,其特征在于:每个组是一个序列,并且每个序列是一组功能块,其中与每个功能块关联的输入取决于与直接在前功能块相关联的主连接输出,所述序列开始位置处的功能块除外。
16.如权利要求15的方法,其特征在于:每个组是一个序列,以及每个序列是不输入另一功能块的主连接输出且不产生被另一功能块输入的主连接输出的单个功能块。
17.如权利要求16的方法,其特征在于:每个序列按如下方式之一构成:
将不输入另一个功能块的主连接输出的功能块标识为起始功能块,沿从所述起始功能块开始的功能块路径继续,使得除所述起始功能块外,与每个功能块相关联的输入取决于与直接在前功能块相关联的主连接输出;以及
判断是否:功能块是单一功能块,不输入另一个功能块的主连接输出且不产生被另一个功能块输入的主连接输出。
18.如权利要求17的方法,其特征在于:所述识别的起始功能块中的至少一个是输入类功能块。
19.如权利要求18的方法,其特征在于:所述链路调度表在包含至少一个现场总线的混合网络中传送。
20.如权利要求19的方法,其特征在于:所述现场总线是基金会TM现场总线。
21.如权利要求12的方法,其特征在于:所述链路调度表在包含至少一个现场总线的混合网络中传送。
22.如权利要求21的方法,其特征在于:所述现场总线是基金会TM现场总线。
23.如权利要求6的方法,其特征在于:所述链路调度表在包含至少一个现场总线的混合网络中传送。
24.如权利要求23的方法,其特征在于:所述现场总线是基金会TM现场总线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/283,766 | 2002-10-29 | ||
US10/283,766 US7363380B2 (en) | 2002-10-29 | 2002-10-29 | Method for optimizing a link schedule |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1729653A true CN1729653A (zh) | 2006-02-01 |
Family
ID=32107552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200380107211.5A Pending CN1729653A (zh) | 2002-10-29 | 2003-10-22 | 优化链路调度的方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7363380B2 (zh) |
EP (1) | EP1566021A2 (zh) |
JP (1) | JP2006505189A (zh) |
CN (1) | CN1729653A (zh) |
AU (1) | AU2003282997B2 (zh) |
WO (1) | WO2004040866A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023624A (zh) * | 2009-09-21 | 2011-04-20 | 费希尔-罗斯蒙特系统公司 | 在过程控制环境中管理模块运行序列的方法和装置 |
CN110658832A (zh) * | 2019-09-17 | 2020-01-07 | 华中科技大学 | 一种适用复杂工况的水下无人艇通信系统及其调度方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822060B2 (en) * | 2004-07-14 | 2010-10-26 | Coppergate Communications Ltd. | Maximal resource utilization in networks |
CN100442709C (zh) * | 2005-06-17 | 2008-12-10 | 华为技术有限公司 | 一种网络管理系统中的设备操作方法 |
US7743192B2 (en) * | 2007-03-18 | 2010-06-22 | Moxa Inc. | Method of determining request transmission priority subject to request content and transmitting request subject to such request transmission priority in application of Fieldbus communication framework |
FR2931603B1 (fr) * | 2008-05-21 | 2010-08-13 | Peugeot Citroen Automobiles Sa | Procede de gestion par etalement dans le temps des emissions de messages d'equipements connectes a un bus multiplexe, et dispositif associe |
CN101534230B (zh) * | 2009-04-15 | 2012-02-01 | 中控科技集团有限公司 | 基于以太网的发送数据的方法、以太网节点及控制系统 |
US8418182B2 (en) | 2010-08-16 | 2013-04-09 | Clear Channel Managment Services, Inc. | Method and system for controlling a scheduling order per category in a music scheduling system |
US10908794B2 (en) | 2010-08-16 | 2021-02-02 | Iheartmedia Management Services, Inc. | Automated scheduling of multimedia content avoiding adjacency conflicts |
US8490099B2 (en) | 2010-08-16 | 2013-07-16 | Clear Channel Management Services, Inc. | Method and system for controlling a scheduling order per daypart category in a music scheduling system |
US9898499B2 (en) | 2010-08-16 | 2018-02-20 | Iheartmedia Management Services, Inc. | Multimedia scheduling for airplay with alternate category support |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5615236A (en) * | 1995-03-29 | 1997-03-25 | Trimble Navigation Limited | Method and apparatus for direct re-acquisition of precision-code after a short power interruption |
US5995916A (en) * | 1996-04-12 | 1999-11-30 | Fisher-Rosemount Systems, Inc. | Process control system for monitoring and displaying diagnostic information of multiple distributed devices |
US5768119A (en) * | 1996-04-12 | 1998-06-16 | Fisher-Rosemount Systems, Inc. | Process control system including alarm priority adjustment |
US7146230B2 (en) * | 1996-08-23 | 2006-12-05 | Fieldbus Foundation | Integrated fieldbus data server architecture |
US6424872B1 (en) * | 1996-08-23 | 2002-07-23 | Fieldbus Foundation | Block oriented control system |
US5970430A (en) * | 1996-10-04 | 1999-10-19 | Fisher Controls International, Inc. | Local device and process diagnostics in a process control network having distributed control functions |
US6044305A (en) * | 1996-10-04 | 2000-03-28 | Fisher Controls International, Inc. | Method and apparatus for debugging and tuning a process control network having distributed control functions |
AU4663497A (en) * | 1996-10-04 | 1998-04-24 | Fisher Controls International Inc. | A network accessible interface for a process control network |
US6047222A (en) * | 1996-10-04 | 2000-04-04 | Fisher Controls International, Inc. | Process control network with redundant field devices and buses |
DE69726875T2 (de) * | 1996-10-04 | 2004-10-14 | Fisher Controls International, Inc. | Wartungsschnittstelleneinrichtung zur verwendung in einem prozesssteuerungsnetz |
US5854890A (en) * | 1996-10-15 | 1998-12-29 | National Instruments Corporation | Fieldbus function block shell with user selectable data ownership |
US5978850A (en) * | 1997-07-02 | 1999-11-02 | National Instruments Corporation | System and method for accessing parameters in a fieldbus network using a tag parameters interface |
US6114991A (en) * | 1997-09-11 | 2000-09-05 | Lucent Technologies, Inc. | Auxiliary system for assisting a wireless terminal in determining its position from signals transmitted from a navigation satellite |
US6076952A (en) * | 1997-09-17 | 2000-06-20 | National Instruments, Corp. | Fieldbus network configuration utility with improved parameter control |
US5971581A (en) * | 1997-09-17 | 1999-10-26 | National Instruments Corp. | Fieldbus network configuration utility with improved scheduling and looping |
US6014612A (en) * | 1997-10-02 | 2000-01-11 | Fisher Controls International, Inc. | Remote diagnostics in a process control network having distributed control functions |
US6088665A (en) * | 1997-11-03 | 2000-07-11 | Fisher Controls International, Inc. | Schematic generator for use in a process control network having distributed control functions |
US6133873A (en) * | 1998-06-03 | 2000-10-17 | Krasner; Norman F. | Method and apparatus for adaptively processing GPS signals in a GPS receiver |
US6285966B1 (en) * | 1998-06-25 | 2001-09-04 | Fisher Controls International, Inc. | Function block apparatus for viewing data in a process control system |
US6738388B1 (en) * | 1998-09-10 | 2004-05-18 | Fisher-Rosemount Systems, Inc. | Shadow function block interface for use in a process control network |
US6298454B1 (en) * | 1999-02-22 | 2001-10-02 | Fisher-Rosemount Systems, Inc. | Diagnostics in a process control system |
US6633782B1 (en) * | 1999-02-22 | 2003-10-14 | Fisher-Rosemount Systems, Inc. | Diagnostic expert in a process control system |
US6915364B1 (en) * | 1999-07-02 | 2005-07-05 | Fisher Rosemount Systems, Inc. | Automatically downloaded link active schedule |
US6618745B2 (en) * | 1999-09-10 | 2003-09-09 | Fisher Rosemount Systems, Inc. | Linking device in a process control system that allows the formation of a control loop having function blocks in a controller and in field devices |
US6721609B1 (en) * | 2000-06-14 | 2004-04-13 | Fisher-Rosemount Systems, Inc. | Integrated optimal model predictive control in a process control system |
US7069580B1 (en) * | 2000-06-16 | 2006-06-27 | Fisher-Rosemount Systems, Inc. | Function-based process control verification and security in a process control system |
US6947389B1 (en) * | 2000-06-30 | 2005-09-20 | Fisher-Rosemount Systems, Inc. | Two-mode foundation fieldbus device configurator |
US6944681B1 (en) * | 2000-09-08 | 2005-09-13 | Fisher-Rosemount Systems, Inc. | Probing algorithm for foundation fieldbus protocol |
US7200448B2 (en) * | 2001-11-27 | 2007-04-03 | Rockwell Automation Technologies, Inc. | System and method for function block execution order generation |
US6978186B2 (en) * | 2002-03-22 | 2005-12-20 | International Rectifier Corporation | Modular functional block for an electronic control system |
US7062580B2 (en) * | 2002-09-20 | 2006-06-13 | Smar Research Corporation | Logic arrangement, system and method for configuration and control in fieldbus applications |
-
2002
- 2002-10-29 US US10/283,766 patent/US7363380B2/en not_active Expired - Fee Related
-
2003
- 2003-10-22 CN CN200380107211.5A patent/CN1729653A/zh active Pending
- 2003-10-22 EP EP03774930A patent/EP1566021A2/en not_active Withdrawn
- 2003-10-22 AU AU2003282997A patent/AU2003282997B2/en not_active Ceased
- 2003-10-22 WO PCT/US2003/033577 patent/WO2004040866A2/en active Application Filing
- 2003-10-22 JP JP2004548427A patent/JP2006505189A/ja active Pending
-
2008
- 2008-03-05 US US12/074,662 patent/US7945682B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023624A (zh) * | 2009-09-21 | 2011-04-20 | 费希尔-罗斯蒙特系统公司 | 在过程控制环境中管理模块运行序列的方法和装置 |
CN102023624B (zh) * | 2009-09-21 | 2016-03-16 | 费希尔-罗斯蒙特系统公司 | 在过程控制环境中管理模块运行序列的方法和装置 |
CN110658832A (zh) * | 2019-09-17 | 2020-01-07 | 华中科技大学 | 一种适用复杂工况的水下无人艇通信系统及其调度方法 |
CN110658832B (zh) * | 2019-09-17 | 2021-04-20 | 华中科技大学 | 一种适用复杂工况的水下无人艇通信系统 |
Also Published As
Publication number | Publication date |
---|---|
US7363380B2 (en) | 2008-04-22 |
US7945682B2 (en) | 2011-05-17 |
AU2003282997A1 (en) | 2004-05-25 |
EP1566021A2 (en) | 2005-08-24 |
US20040081162A1 (en) | 2004-04-29 |
US20080229317A1 (en) | 2008-09-18 |
WO2004040866A3 (en) | 2004-08-05 |
AU2003282997B2 (en) | 2008-03-06 |
JP2006505189A (ja) | 2006-02-09 |
WO2004040866A2 (en) | 2004-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1154903C (zh) | 接收时钟作为输入信号并提供电压作为输出信号的频压转换电路 | |
CN1225679C (zh) | 最速地实现自抗扰反馈控制的方法及其装置 | |
CN1242308C (zh) | 定位伺服控制器 | |
CN1120425C (zh) | 存储器控制器和存储器控制方法 | |
CN1729653A (zh) | 优化链路调度的方法 | |
CN1745347A (zh) | 使用模块化模型预测控制器的集成优化和控制 | |
CN1855227A (zh) | 用于分离音频信号的装置和方法 | |
CN1969292A (zh) | 用户轮廓管理系统 | |
CN1228866A (zh) | 语音处理系统及方法 | |
CN1948974A (zh) | 半导体集成电路装置及电子装置 | |
CN1892524A (zh) | 控制方法、温度控制方法、调整装置、温度调节器、程序、记录媒体和热处理装置 | |
CN1522006A (zh) | 数字传送网上不同的数据帧接入和传送的系统和方法 | |
CN1695138A (zh) | 从mpc(模型预测控制器)的模型中移除pid动态值的方法 | |
CN1977482A (zh) | 无线通信装置 | |
CN1862490A (zh) | 信号处理装置 | |
CN1530856A (zh) | 布局系统和布局程序以及布局方法 | |
CN1287529C (zh) | 模数转换器电路和电流源电路 | |
CN1181545A (zh) | 信息获取代理系统和信息传送管理系统 | |
CN1235349A (zh) | 数据一致性检测装置及数据挑选装置 | |
CN1624611A (zh) | 可编程控制器、通信单元、变量解决方法和数据交接方法 | |
CN1300972C (zh) | 时钟信号切换装置、时钟信号切换方法、数据总线切换装置及数据总线切换方法 | |
CN1786968A (zh) | Fpga逻辑单元的功能模型和通用性逻辑单元装箱算法 | |
CN1218244C (zh) | 调节规则生成方法和调节规则生成设备以及调节方法 | |
CN1624698A (zh) | 高阶合成方法和高阶合成装置 | |
CN1215480C (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |