对数据网络的命令单元进行访问的方法

文档序号:7743083阅读:128来源:国知局
专利名称:对数据网络的命令单元进行访问的方法
技术领域
本发明涉及一种对数据网络(特别是一种实时以太网络)的命令单元进行访问的方法、一种计算机程序产品、以及一种具有这种命令单元的用户设备和一种通信系统。
背景技术
具有等距特性的同步、定时通信系统被理解为一个由至少两个用户设备组成的系统,这些用户设备通过一个数据网络相互连接以实现相互交换数据或者相互传输数据。在此,数据交换周期地按由该系统所使用的通信时钟预定的、等距的通信周期进行。用户设备例如是中央自动化设备,编程、规划或操作设备,外围设备(例如输入/输出部件、驱动、执行器、传感器),可存储程序控制器(SPS)或其它控制单元,计算机,或者与其它机器交换电子数据的机器,特别是由其它机器处理数据的机器。用户设备也被称为网络节点或者节点。在下面将控制单元理解为各种类型的调节或控制单元,以及例如开关和/或开关控制器。作为数据网络例如可应用总线系统,如现场总线(Feldbus)、过程现场总线(Profibus)、以太网络、工业以太网络、带电线(Fire Wire)或者PC内部总线系统(PCI),特别是还有等时(isochrones)实时以太网络。
数据网络使得有可能通过联网(即各个用户设备相互连接)在多个用户设备之间进行通信。此处通信的含义是指用户设备之间传输数据。在此,待传输的数据作为数据电报发送,即数据被按多个分组一同打包并以这种形式通过数据网络送至相应的接收者。因此也被称为数据分组。这里,在本文件中使用的数据传输的概念完全和上述数据电报或数据分组的传输同义。
在分布式自动化系统中,例如在传动技术中,必须使确定的数据在确定的时间到达确定的用户设备并由接收者处理。这里人们称之为实时关键(echtzeitkritisch)数据或者数据交换,因为,与非实时关键数据的、例如基于因特网或者内部互联网的数据通信相反,数据不及时到达确定的地点会在用户设备处造成不希望的结果。按照IEC 61491,EN61491 SERCOS接口的技术简要说明(http//www.sercos.de/deutsch/index_deutsch.htm)可以保证在分布式自动化系统中成功地完成所述类型实时关键数据的交换。
如今,自动化部件(例如控制器、驱动、......)一般具有用于周期定时通信系统的接口。这些自动化部件的一个运行层面(快周期)(例如在一控制器中的位置调节、驱动的转矩调节)是与该通信周期同步的。由此确定了通信时钟。对于自动化部件的其他低性能的算法(慢周期)(例如温度调节),尽管一种较慢的周期已满足要求,同样只能通过该通信时钟与其它部件(例如,对于通风机、泵的逻辑开关,......)通信。由于仅仅使用一种通信时钟来传输系统中的所有信息,这就对传输段的带宽提出了高的要求。
在一个用于在多主机系统对数据网络进行访问的命令单元(命令接口)运行时,多个应用可以同时或者依次、不过总是未经协调地访问该命令单元。这里,为了保证这些命令在命令接口上进行传送和处理,对该命令接口上的各个应用进行协调是必要的。为了实现这些应用可以为该用户设备设置一个或者多个处理器(主机)。
迄今为止,该协调是在软件的层面(驱动器)上通过对处理的整个期间由中断式闭锁(Interrupt-Sperre)阻断该应用来实现的。在硬件的层面上可以通过一种总线锁定来阻止对该命令接口的其它访问。因而,同样在整个处理期间使该软件暂停。其缺点是-即使一个应用不对该命令接口进行访问,也由于总线锁定的机制将软件处理中断。
-由于中断式闭锁对于命令处理的整个期间来说不能立即处理出现的中断事件,中断程序被延迟执行。最长的中断式闭锁时间确定了该系统的中断等待时间。

发明内容
本发明要解决的技术问题是提供一种改进的、用于对数据网络的命令单元进行访问的方法。此外,本发明另一个要解决的技术问题是提供一种改进的、用于对这种命令单元进行应用访问的计算机程序产品以及一种用于通信系统的用户设备。
本发明的上述技术问题是通过相应独立权利要求的技术特征来加以解决的。本发明的优选实施方式由从属权利要求给出。
按照本发明,不是直接地、而是间接地通过仅仅将一个针对所述用户设备存储器中命令结构地址区域的指针传送到命令单元的输入寄存器来实现向命令单元传送命令。在此,特别有利的是,向该命令单元传送命令可以作为对输入寄存器的“原子的(atomar)”写访问来完成进行,这种写访问例如仅仅需要一个总线时钟。
按照本发明的一个优选实施方式,命令单元经数据网络起到完成特定基本操作的作用。该用户设备的不同应用通过一个共同的接口使用该命令单元。在此,所有应用得到同等对待。为使该应用访问该命令单元而对该用户设备内部数据总线进行的访问由一个判别单元来调节。
特别有利的是,由于对命令单元输入寄存器的“原子的”写访问不需要总线锁定机制或者中断式闭锁。按照本发明,首先在用户设备的存储器、特别是在通信存储器中存放一个命令结构,然后通过将一个针对该命令结构地址区域的指针写入到输入寄存器而将此命令结构写入。处理器和命令单元都可以访问该通信存储器。
然后,该命令单元调用该命令结构并对其进行处理。这与直接将命令参数传送至命令单元相比具有这样的优点可以处理一个任意长的命令结构,例如大于32比特。此外,同样执行一个命令结构的执行周期也不受限制,并可以提供不同程度的信息。
另一个优点是,命令可以由多个不必进行相互协调的应用给出。此外,可以将多个、相同的命令直接依次写入到输入寄存器中,而不必等待各单个命令的执行。
按照本发明的一个优选实施方式,对经输入寄存器接受的命令的确认是通过命令单元将该确认装入到用户设备存储器中命令结构的一个确认区来完成的。
按照本发明的另一个优选实施方式,对数据总线在锁定或闭锁方面没有要求,也就是说,该总线从来不通过一个单一的读取或写入操作而被锁定。此外,在应用和命令单元之间传送的信息量没有向上的限制。在调用的应用之间的例如中断式闭锁这类的协调是不需要的。
按照本发明的另一个优选的实施方式,为了避免总线锁定时间,将所有由应用给出的命令在一个写周期中传送给输入寄存器(命令接口)。仅仅将一个针对一个存储器区域(由该应用先前存入到该存储器的命令结构位于该区域)的指针(地址)传送给命令接口。由此避免了对于命令接口的多次写访问,而在带有多个操作数的命令时则要求作多次写访问。
然后,从该存储器中的地址区域中出发,由命令接口读出来自一确定命令结构的命令数据、对其进行解释并传送到相应的执行单元进行处理。
数据总线的有效总线用户(即有效的应用)可以相互独立地对该命令接口进行写访问。这样一来,多个任务也通过不同应用对命令接口的未分类(混合)访问得到支持。为了不使应用的单个任务由于中断式闭锁而造成相互锁定,命令接口优选以一种允许所有的应用按不同的顺序并在不同的时间对接口进行一种自由选择访问的机制来实现。
优选这些应用可以得知它们的针对一个写入到命令接口中的命令结构的指针是否被接受。如果读出的和所写入的地址一致,则在命令接口上的命令被接受。如果它们不一致,则可能存在下列两种可能性-因为对一个在先的命令的接受还未结束,该命令未被接受。
-该命令已经被接受,但是在写入和读出之间已经接受了另一个命令。这种情形既可以在一个应用(具有优先多任务的核,如果没有被操作系统管理的话)中出现,也可以在具有多个物理用户设备的系统中出现。
因此,优选由该硬件来支持两种必须由软件用来明确识别的机制·从命令接口中读回刚刚写入的数据(针对命令结构的地址)。此时,识别一个应用的数据是否在该命令接口上被接受了。如果已接受,则该命令接口执行了该命令;如果未接受,则已经事先将一个第二应用的数据装入了接口并且还没有由硬件转换连接到命令清单中,从而使第一应用的命令不能被采用。
·确认该接受的数据。如果在地址的写入和读回之间在命令接口进行了例如下列的操作,-由该命令接口接受该命令,-由该命令接口通过在命令结构的一个“确认”区来确认该接受,-由第二个用户设备按新的地址数据改写了该命令接口,则写入的和读回的数据不再一致。此时命令的接受仅仅在该命令结构的“确认”区得到明确地识别。
为了排除临界的竞争,优选在命令接口再次可写入之前首先设置一个“确认”。命令的接收通常以将该命令结构链接到一个命令清单中而结束,这样也就快速地实现。对于一种尽可能短暂和有保证的接收时间的优化具有优先权,以便在对命令接口的重新写入访问时在软件处理中不会增加不必要的等待时间。
按照本发明的另一个优选的实施方式,该应用的命令或者命令序列通过该命令单元的一个共用输入寄存器(命令寄存器)进行传送。
此时,在命令寄存器中存放针对一命令结构的地址(指针)。该结构本身包含所有对于命令的处理所必须的数据。为了在较长的命令处理中不使该命令寄存器在整个命令处理期间被阻塞,将所传送的命令结构在一个命令清单中进行链接。为此,该命令结构包含一个“下一个(next)”指针,借助于该指针可以将还没有处理的结构进行链接。该“下一个(next)”指针包含再下一个还没有处理的命令结构的地址。通过这种链接实现了这些命令结构在命令清单中的临时存储。由此,实现了命令处理和命令传送之间的去耦合。
如果由用户设备之一对该寄存器进行了一个写访问,则将一直阻止在该命令寄存器中接收其它数据,直到所传送的命令在命令清单中进行了链接。只有在命令接口已经通过在相应的“确认”区进行了设置而确认了该命令的接收,才接收对该命令寄存器的一个新的写访问。
在通过命令寄存器传送的命令得到处理之后,将所属的命令结构返送给使用者。在此为每个应用设置了一个通过其传送命令结构的、单独的返回寄存器,在下面也称为输出寄存器。为了不必通过用户设备来保证在该返回寄存器上的对命令结构进行步进的(schritthaltende)提取,将处理的结构链接在单独的、取决于用户设备的返回清单中。将对每个处理的结构的回送告知各自的用户设备。此时,经返回寄存器回送链接的命令结构。
按照本发明的另一个优选实施方式,一种应用通过对命令寄存器的写访问将命令结构传送给命令接口。
在命令寄存器上的写过程会导致直到由命令接口将所传送的命令结构链接到公共的命令清单上且在该结构的“确认”区对该接收进行了确认为止,一直不接受后续写访问的数据。然而,对命令寄存器的读访问仍然是允许的。为了检查刚刚写入的值是否也进入到该命令寄存器中,再次读回该寄存器的数据。如果写入和读出的数据一致,则执行了在命令寄存器上的写周期。
然而,如果写入和读出的数据之间出现差别,则可能是由两种原因造成的-在应用1的读和写周期之间的时间段中,输入到命令寄存器中的命令结构已经被接受到命令清单中,并且在该结构的“确认”区中设置了确认。因此开放了对于命令寄存器新数据的写入。而还在应用1进行读访问之前,应用2可以对该命令寄存器进行写访问。
-在应用1对命令寄存器进行写入之前,已经由应用2进行了一个写访问。因此将阻止应用1的后续地址数据的进入。
如果写入和读出的数据之间出现差别,则该应用必须优先对命令结构的“确认”区进行分析。如果在命令结构的“确认”区设置了确认,则该命令结构被接受,并链接到命令清单中。未确认接收了该结构将导致对该命令寄存器作周期性的写访问(定时询问)。
此外,特别有利的是,可以将所公开的方法应用到自动化系统中,特别是投入或应用到包装机械、印刷机、注塑机、纺织机械、压力机、机床、机器人、处理系统(Handlingssystemen)、木材加工机械、玻璃加工机械、陶瓷加工机械以及升降机械中。
另一个优点在于,本发明既可以应用到通信应用中,又可以应用到其它应用中,例如其它智能子系统(特别是绘图系统)的命令接口中。


下面对照附图对本发明的优选实施方式作进一步的说明图1示出了本发明数据网络用户设备的实施方式的方框图;图2为命令接口的原理示意图;图3示出了用户设备存储器中链接命令结构的实例,图4示出了本发明方法的实施方式的流程图。
具体实施例方式
图1示出数据网络102的一个用户设备100。数据网络102例如可以是一个用在自动化技术中的实时以太网络。在这种数据网络102上通常连接着多个在原理上与该用户设备100具有相同构造的用户设备。由此建立了一个通信系统。
用户设备100有多种可以访问用户设备100的数据总线110的应用104、106、108、...。在数据总线110上对单个应用104、106、108、...的访问是由判别器112来调节的。
此外,用户设备100具有一个存储器114和一个命令单元116。该存储器114和命令单元116同样耦接在数据总线110上。
每一个应用104、106、108、...可以通过数据总线110将一命令结构118写入到存储器114。在图1的实施方式中,命令结构118包括一个可由命令单元116执行的命令120和一个确认区122。将命令结构118存储在存储器114中一个由该指针124指向的地址区。
命令单元116既与数据总线110又与数据网络102耦接。该命令单元116用来执行数据网络102针对应用104、106、108、...所涉及到的不同的基本操作。命令单元116包括一个用于应用104、106、108、...的接口,该接口具有一个命令寄存器126和多个返回寄存器128。
命令寄存器126用作存储指针124的输入寄存器。每个应用104、106、108、...可以通过数据总线110访问命令寄存器126。与此相反,为每一个确定的应用配置了一个各自的返回寄存器128。例如,返回寄存器130配属于应用104,返回寄存器132配属于应用106,而返回寄存器134配属于应用108,以此类推。
此外,命令单元116包括一个也被称为所谓堆栈的命令清单136。由命令单元116接受的和待处理的命令置于该命令清单136中。
此外,命令单元116还具有一个用来处理命令的逻辑电路138。
在运行中,该用户设备100的一个应用(例如应用104)通过数据总线110访问存储器114,以便将一个命令结构118存放在那里。此后,该应用104通过数据总线110利用一个写访问对命令寄存器126进行访问,以便将命令结构118的指针124写入到命令寄存器126中。然后,命令单元116将命令结构118从存储器114中接受到命令清单136中,并通过命令结构118的确认区122中的一个对应项来确认该接受。
在命令结构118进行了处理之后,命令单元116将该指针124写在为该应用104配置的返回寄存器130中。应用104可以经数据总线110通过一个读访问来调用返回寄存器130,以便检查命令结构118是否已经得到处理。
图2示出了图1的命令接口的一种改进结构。
此时,命令寄存器126可以由不同的应用104、106、108、...不经协调地进行改写。从接受的命令结构118中产生命令清单136。
此外,为每个返回寄存器130,132,134,...配置了一个返回清单140,...,其中,将返回清单140配置给返回寄存器130,而后者又配属于该应用104。借助于返回清单140可以对指针124的输出进行缓存。
图3示出了一种位于用户设备存储器114中的链接命令结构的实施方式。在该实施方式中,命令结构118具有一个用于存储一条或多条命令120(见图1)的区域142,一个用于存储对应于图1的确认区122的确认的区域144,以及一个用于存储另一个在原理上具有同样构造的命令结构118的指针148的区域146。此另一个命令结构118具有再一个命令结构118的指针150,以此类推。该链接的最后一个命令结构118不再有另外的指针,由此标志了链接命令结构的最后一节。
此外,命令结构118具有一个用于存储为执行有关命令120需要的参数、有效数据或者运算数的区域152。
如果在本实施方式中将指针124传送到命令寄存器126(见图1),并且由命令单元116对该传送进行了确认,则命令单元116处理了命令结构118的整个链条。随着例如在一个总线时钟之内对命令寄存器126作了一个单一的“原子的(atomar)”写访问,对一个复杂的命令序列的处理就可以通过一个应用的命令单元116来触发。
图4示出了一个用于运行图1系统的方法的流程图。该方法分为一个软件过程154和一个硬件过程156。在步骤200中启动软件过程154之后,软件过程154所属的应用(例如图1的应用104)在一个总线周期中对命令寄存器进行一次写访问。这是在步骤202中完成的。在该写入周期中,应用104将指针124传送给一命令结构118或一个命令结构118链。由此,启动了硬件过程156。
在硬件过程156的步骤204中检查命令寄存器是否可写入。如果不能写入,则在步骤221结束运行。在这种情况下,该应用必须在步骤200重新启动软件过程154。
然而,如果寄存器可写入,则将由应用104传送的指针124装入到该命令寄存器,这在步骤206进行。然后,在步骤208阻止再对该命令寄存器进行写入,从而其它应用不能修改位于该寄存器中的指针。
在步骤210中接受该命令结构或者该命令结构的链接,也就是说,完成将待处理的命令链接到命令清单中,且在命令结构的确认区中对此接受进行确认。
此后,在步骤212中再开放命令寄存器中的写入,并且以步骤221结束硬件过程156的运行。
在步骤202中的写入周期之后,软件过程154在步骤214中对命令寄存器执行一个读周期。在步骤216中检查,先前在步骤202中写入到命令寄存器中的数据(即指针124)是否还在该命令寄存器126中。
如果写入的数据还在命令寄存器126中,则意味着在步骤210中完成了对命令结构的接受,因此在步骤218中结束软件过程154。如果不是这样,则表示完成了对命令结构的接受,且另一个应用已经用另一个指针对命令寄存器进行了改写,或者在硬件过程156中未完成对命令结构的接受。在这种情况下,在步骤220中对在确认区中的确认进行检查。如果其中装入了确认,则可以再在步骤218结束软件过程154。如果不是这样,则必须将流程控制返回到步骤202。
权利要求
1.一种对数据网络(102)的命令单元(116)进行访问的方法,所述方法具有如下步骤-在所述数据网络(102)的一个用户设备(100)中运行多种可以访问所述用户设备(100)的一个数据总线(110)的应用(104,106,108,…);-由这些应用中的第一应用经该数据总线(110)在所述用户设备(100)存储器的地址区域中写入至少一个命令结构(118);-由该第一应用经该数据总线(110)将针对该地址区域的指针(124)写入到所述命令单元(116)的一个输入寄存器(126)中;-所述命令单元(116)经该数据总线(110)对该地址区域进行访问,且对该命令结构(118)进行处理;-在该命令结构(118)进行处理后,由所述用户设备(100)将该指针(124)写入到一个为该第一应用配置的输出寄存器(136,130)中。
2.按照权利要求1所述的方法,其中,通过一个判别单元(112)调节对所述数据总线(110)的访问,其中,允许为一预定数量的总线时钟作一种访问,并且所述预定数量的总线时钟足以将所述指针(124)写入到所述输入寄存器(126)中。
3.按照权利要求1或2所述的方法,其中所述命令结构(118)包含一个确认区(122),具有下列进一步的步骤-在由所述用户设备(100)写入所述指针(124)后,闭锁所述输入寄存器(126);-由所述用户设备(100)将一个确认写入到所述确认区(122)中;-在进行确认后由所述用户设备(100)开放所述输入寄存器(126)。
4.按照权利要求1至3中任一项所述的方法,具有下列进一步的步骤-在写入所述指针(124)后,由所述第一应用读取所述输入寄存器(126);-由所述第一应用检查所述输入寄存器(126)是否包含有所述指针(124);-如果不包含,则检查所述确认区(122)中是否存储有一个确认。
5.按照权利要求1至4中任一项所述的方法,其中,所述命令结构(118)包含有可执行的命令和有效数据。
6.按照权利要求1至5中任一项所述的方法,其中,由所述第一应用将多个相互链接的命令结构写入到存储器中,且所述指针(124)指向所述链接的第一命令结构(118)的地址区域。
7.一种用于数据网络(102)用户设备(100)的一种应用(104,106,108,…)的计算机程序产品,特别是数字存储介质,其中,所述应用可以访问一个用于所述用户设备(100)多个应用的数据总线(110),并且所述用户设备(100)具有一个输入寄存器(126)和为所述应用配置的输出寄存器(136,130),所述计算机程序产品具有用于执行下列步骤的程序模块-经该数据总线(110)将一个命令结构(118)写入到所述用户设备(100)存储器的地址区域中;-经该数据总线(110)将一个针对地址区域的指针(124)写入到该命令单元(116)的输入寄存器(126)中;-读取该输入寄存器(126),以检查所述命令结构(118)是否被所述命令单元(116)确认。
8.按照权利要求7所述的计算机程序,其中,如果在读取所述输入寄存器(126)时,所述指针(124)不再存在于所述输入寄存器(126)中,则对所述命令结构(118)中的一个确认区(122)进行检查。
9.按照权利要求7或8所述的计算机程序,其中,将多个相互链接的命令结构写入到所述用户设备(100)的存储器中,并且所述指针(124)指向所述链接的第一命令结构(118)的地址区域。
10.按照权利要求7、8或9所述的计算机程序,其中,读取所述为该应用配置的输出寄存器(136,130),以检查所述命令结构(118)是否由所述命令单元(116)进行了处理。
11.一种数据网络(102)的用户设备(100),包括-一个用于访问所述数据网络(102)的命令单元(116);-用于运行多种可以访问所述用户设备(100)的一个数据总线(110)的应用(104,106,108,…)的装置;-用于由这些应用的第一应用经该数据总线(110)将至少一个命令结构(118)写入到所述用户设备(100)存储器的一个地址区域中的装置;-用于由该第一应用经该数据总线(110)将针对该地址区域的指针(124)写入到所述命令单元(116)的一个输入寄存器(126)中的装置;-用于使所述命令单元(116)经该数据总线(110)访问该地址区域、且处理该命令结构(118)的装置;-用于在对该命令结构(118)进行处理后由所述用户设备(100)将该指针(124)写入到一个为该第一应用配置的输出寄存器(136,130)中的装置。
12.按照利要求11所述的用户设备(100),还包括一个用于对所述数据总线(110)的访问进行调节的判别单元(112),其中,允许为一预定数量的总线时钟作一种访问,并且所述预定数量的总线时钟足以将所述指针(124)写入到所述输入寄存器(126)中。
13.按照权利要求11或12所述的用户设备(100),其中所述命令结构(118)包含一个确认区(122),所述用户设备还包括-用于在由所述用户设备(100)写入所述指针(124)后闭锁所述输入寄存器(126)的装置;-用于由所述用户设备(100)将一个确认写入到所述确认区(122)中的装置;-用于在进行确认后由所述用户设备(100)开放所述输入寄存器(126)的装置。
14.按照权利要求11、12或13所述的用户设备(100),还包括-用于在写入所述指针(124)后由所述第一应用读取所述输入寄存器(126)的装置;-用于由所述第一应用检查所述输入寄存器(126)是否包含所述指针(124)、且如果不包含则检查在所述确认区(122)中是否存储有一个确认的装置。
15.按照权利要求11至14中任一项所述的用户设备(100),其中,所述命令结构(118)包含有可执行的命令和有效数据。
16.按照权利要求11至15中任一项所述的用户设备(100),在所述存储器中具有多个相互链接的命令结构,其中,所述指针(124)指向所述链接的第一命令结构(118)的地址区域。
17.一种具有一个数据网络(102)和多个如上述权利要求11至16中任一项所述的用户设备(100)的通信系统。
全文摘要
本发明涉及一种访问数据网络(102)的方法和一种该数据网络(102)的用户设备(100),该用户设备(100)包括一个用于访问该数据网络(102)的命令单元(116);用于运行多种可以访问所述用户设备(100)的一个数据总线(110)的应用(104,106,108,…)的装置;用于由这些应用中的第一应用经所述数据总线(110)将至少一个命令结构(118)写入到所述用户设备(100)的存储器的一个地址区域中的装置;用于由该第一应用经该数据总线(110)将针对该地址区域的指针(124)写入到所述命令单元(116)的一个输入寄存器(126)中的装置;用于使所述命令单元(116)经该数据总线(110)访问该地址区域、且处理该命令结构(118)的装置;用于在对该命令结构(118)进行处理后由所述用户设备(100)将该指针(124)写入到一个为该第一应用配置的输出寄存器(136,130)中的装置。
文档编号H04L12/40GK1636373SQ02818795
公开日2005年7月6日 申请日期2002年9月13日 优先权日2001年9月26日
发明者迪特尔·布吕克纳, 弗朗兹-约瑟夫·戈茨, 迪特尔·克洛茨, 卡尔-海因茨·克劳斯, 于尔根·希梅尔 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1