用于一致的数据交换的接口装置和方法与流程

文档序号:11732692阅读:200来源:国知局
用于一致的数据交换的接口装置和方法与流程
本发明涉及一种用于在第一总线系统和第二总线系统之间进行数据交换的接口装置,其中,在第二总线系统上能连接输入/输出装置,并且在输入/输出装置内,插槽和用于输出或接收输入数据/输出数据的子插槽是可寻址的,该接口装置包括用于第一总线系统的数据的第一收发装置,用于第二总线系统的数据的第二收发装置,具有传输存储器的数据传输装置,控制装置,设计用于控制数据存储以及用于协调在数据传输装置之中或之上的写入访问。

背景技术:
尤其在自动化技术中通过现场总线在输入装置输出装置,例如像模块化的分散的外围系统和上级的自动化装置之间进行待自动化的组件,像机器、伺服驱动装置或传感器的有效数据、尤其是输入数据和输出数据的交换。例如已知了作为现场总线的Profibus(过程现场总线)或Profinet(基于工业以太网技术的自动化总线)。在分散的外围站的输入/输出装置内部可以通过分散的外围站的底板总线系统把有效数据分配在单个的模块上或者由单个的模块读取。因为现场总线和底板总线系统通常彼此异步运行且也仅能部分地实现数据的、例如子插槽有效数据包的更新,所以对于确保在两个总线系统之间的数据一致性来说中间缓冲存储器是必需的。由欧洲专利文献EP1253494B1已知了这种中间缓冲存储器或切换缓冲存储器。在已知的控制系统和/或调节系统中,其中通过现场总线,其中对分散的外围设备进行访问,在这种已知的系统中不利的是,其不再能跟上目前对有效数据交换的速度要求。

技术实现要素:
因此本发明的目的在于,提供一种用于数据交换的接口装置或一种用于一致的数据交换的方法,该接口装置和方法在一致的数据安全方面以优化且更迅速的方式实现了迄今为止的数据交换。该目的由此实现,即前述接口装置的控制装置与列表存储装置连接,用于对输入/输出装置的数据进行寻址的数据结构存储在列表存储装置中,其中,为多个子插槽以第一总线系统的电报的电报格式预定数据结构,并且该数据结构分别具有相对于传输存储器的起始地址的存储器偏移以及输入数据/输出数据的数据长度,其中,在数据结构中为子插槽分配有索引,其中,控制装置还设计用于,在更新输入数据/输出数据时借助于索引逐字节地协调在数据传输装置中的写入访问。所述的接口装置例如插入在上级自动化装置和下级分散的外围设备之间的接口模块中。在Profinet应用方面,这种ProfinetI/O系统包括如下装置:I/O控制器,其表现为完成自动化任务的控制装置;I/O装置,其表现为由I/O控制器监控并控制的场装置、尤其是输入/输出装置,I/O装置可以由多个模块和子模块组成;I/O管理器,其表现为典型地基于PC的开发工具,用于参数化和诊断单个的I/O装置和I/O控制器。关于列表存储装置,I/O装置的、即输入/输出装置的参数化数据有利地用于接口装置的数据传输装置中写入访问的逐字节的协调。利用列表存储装置使在接口装置中有供使用的参考列表,参考列表用于数据传输装置中或传输存储器中的数据的快速的寻址。传输存储器有利地划分为输出缓冲存储器和输入缓冲存储器,其中,输出缓冲存储器设计用于缓冲存储第一总线系统的数据并作为输入/输出装置的输出数据提供给第二总线系统,并且输入缓冲存储器设计用于缓冲存储第二总线系统的数据并作为输入/输出装置的输入数据提供给第一总线系统。传输存储器优选地设计为第一传输存储器和第二传输存储器,其中,传输存储器这样与控制装置连接,即数据存储或写入访问仅能在第一传输存储器上或者仅能在第二传输存储器上进行。在此,每个传输存储器又具有输出缓冲存储器和输入缓冲存储器。为了继续优化数据传输和尤其是优化数据一致性,控制装置具有锁定件(Sperrmittel),该锁定件设计为,在输出缓冲存储器上利用输出数据进行写入访问之前,或者在输入缓冲存储器上对输入数据进行读取访问之前,对状态指示器进行设定,其中,控制装置还设计为,当设定了状态指示器时,锁定件阻止了在第一和第二传输存储器之间的切换。在传输存储器的字节方式的构造中证明为尤其有利的是,控制装置还设计为,当对来自输出缓冲存储器的输出数据进行读取访问时,询问信号机并根据信号机的状态读取来自第一传输存储器的或者来自第二传输存储器的输出数据。例如,信号机变量是数据结构,该数据结构由整数和使用操作,例如像“保存、试验”和“释放”组成。它们尤其适合用于管理有限的、可计算的资源,多个过程或线程优选应该访问该资源,例如像生产者和消费者。与阻挡变量、锁定Lock相比,行为载体,“保存”和“释放”不需要相同。为了优化数据的更新,以字节方式构造传输存储器,并为每个字节分配具有索引的信号机,其中,在第一传输存储器中为字节分配具有第一状态的信号机以及在第二传输存储器中为对应的字节分配具有第二状态的信号机,其中,第二状态对应于负的第一状态。为了在自动化装置的连续的运行中利用分散的外围设备相对于I/O装置的数据分配,例如在具有其它的Profinet控制器的关系芯片(连接)的额外的应用的建立或消除中能实现分级,列表存储装置设计为双重的(doppelt),并设计为第一列表存储装置和为第二列表存储装置。鉴于已经提到的工业自动化技术,接口装置的尤其有利的鲜明特征是设计用于与工业自动化系统相结合地运行,其中,用于第一总线系统的数据的第一收发装置设计用于发射和接收工业自动化技术的现场总线的数据,以及用于第二总线系统的数据的第二收发装置设计用于发射和接收设计为工业自动化技术的分散的外围设备的输入/输出装置的底板总线的数据,其中,控制装置还具有底板总线控制器和现场总线控制器。前述的目的,即优化分散的外围系统中的运行同样通过一种用于在第一总线系统和第二总线系统之间数据一致地交换数据的方法来实现,其中,在第二总线系统上连接输入/输出装置,并且在输入/输出装置内,对插槽和用于输出或接收输入数据/输出数据的子插槽进行寻址,其中,通过用于控制数据存储以及用于协调在数据传输装置之中或之上的写入访问的控制装置控制具有传输存储器的数据传输装置,其中,控制装置分析来自列表存储装置的数据结构,其中,用于对输入/输出装置的数据进行寻址的数据结构在数据交换开始之前存储在列表存储装置中,并且,基于多个子插槽以第一总线系统的电报的电报格式定义数据结构,并且数据结构分别具有相对于传输存储器的起始地址的存储器偏移以及输入数据/输出数据的数据长度,其中,在数据结构中为子插槽分配有索引,其中,控制装置在更新输入数据/输出数据时借助于索引逐字节地协调在数据传输装置中的写入访问。传输存储器优选地划分为输出缓冲存储器和输入缓冲存储器,其中,输出缓冲存储器运行,从而缓冲存储第一总线系统的数据并作为输入/输出装置的输出数据提供给第二总线系统,并且输入缓冲存储器运行,从而缓冲存储第二总线系统的数据并作为输入/输出装置的输入数据提供给第一总线系统。传输存储器划分为第一传输存储器和第二传输存储器,以及这样控制数据存储或写入访问,即仅在第一传输存储器上或者仅在第二传输存储器上进行访问。根据本方法,锁定件在控制装置中运行,其中,在输出缓冲存储器上利用输出数据进行写入访问之前,或者在输入缓冲存储器上对输入数据进行读取访问之前,对状态指示器进行设定,且当设定了状态指示器时,阻止了在第一和第二传输存储器之间的切换。相关于传输存储器、尤其是输出缓冲存储器和输入缓冲存储器的逐字节的寻址,当对来自输出缓冲存储器的输出数据进行读取访问时,询问信号机并根据信号机的状态读取或者来自第一传输存储器的或者来自第二传输存储器的输出数据。因为数据逐字节地存储在传输存储器中,并为每个字节分配具有索引的信号机,在第一传输存储器中为字节分配具有第一状态的信号机以及在第二传输存储器中为对应的字节分配具有第二状态的信号机,其中,第二状态对应于负的第一状态。对于数据一致性来说,传输存储器设计为双重的,在这里对此涉及的是字节和对应的字节。有利地,双重地设计并双重地运行列表存储装置,更确切地说,设计为第一列表存储装置和第二列表存储装置。该方法尤其有利地与工业自动化系统相结合地应用,其中,用于工业自动化技术的现场总线的数据的第一收发装置被运行,以及设计用于设计为工业自动化技术的分散的外围设备的输入/输出装置的底板总线的数据的第二收发装置被运行。其中,在控制装置中还运行了底板总线控制器和现场总线控制器。附图说明附图示出接口装置的可能的实施例或者可能的方法流程。附图示出:图1示出具有接通的分散的外围设备的自动化装置,图2示出接口装置的控制器和列表存储装置的示意性框图,图3示出用于写入输出数据的程序流程图,图4示出用于读取输出数据的程序流程图,图5示出用于把底板总线控制器的数据写入输入缓冲存储器的程序流程图,以及图6示出用于读取来自输入缓冲存储器的数据的程序流程图。具体实施方式根据图1,自动化装置110连接在第一总线系统11a上,其中,在第一总线系统11a上以模块化的分散的外围设备结构方式连接了具有输入/输出装置100的接口装置1。接口装置1通过第一收发装置11与自动化装置110连接。接口装置1通过第二收发装置12通过第二总线系统12a与输入/输出装置100连接,其中,输入/输出装置100具有第一插槽101、第二插槽102和第三插槽103。插槽101,102,103又分别划分为三个子插槽,即111,121,131和112,122,132和113,123,133。对自动化装置110和设计为输入组件/输出组件的插槽101,…,103之间的数据交换来说,接口装置1具有数据传输装置20,该数据传输装置划分为第一传输存储器21和第二传输存储器22。根据图2,示意性地以框图示出由图1已知的接口装置1。用于第一总线系统11a和第二总线系统12a的数据的数据交换的接口装置1连接在第一发射单元/接收单元11上,其中,例如第一总线系统11a设计为工业Profinet现场总线。例如设计为模块化构造的外围系统的底板总线的第二总线系统12a连接在第二收发装置12a上。收发装置11,12与寻址器49连接。寻址器49通过列表存储装置40得到用于对输入/输出装置100(参见图1)的数据进行寻址的数据结构,该数据结构以第一总线系统11a的电报的电报格式包括多个子插槽111,112,113。数据结构分别具有如下结构:对第一传输存储器21或第二传输存储器22中的每个待寻址的字节来说有相对于第一传输存储器和/或第二传输存储器21,22的起始地址45的存储器偏移44供使用。此外,列表存储装置40具有输入数据/输出数据的数据长度46。具有存储器偏移44和数据长度46的数据结构通过索引i分配至子插槽111,112,113。列表存储装置40双重地设计为第一列表存储装置41和第二列表存储装置42。通过选择器48分别确定,第一列表存储装置41或第二列表存储装置42是否提供了用于寻址器49的输入数据。当例如ProfinetI/O布局(Konstellation)通过工程系统在连续的运行中改变时,从第一列表存储装置41至第二列表存储装置42的切换可以是有利的。因此,直到应该接收改变的数据的时刻可以利用第一列表存储装置41中的配置工作,以及在切换时刻之后利用新的配置工作,例如该新的配置存储在第二列表存储装置42中。通过命令列表43辅助寻址器49。在该例子中,控制器30同时包含数据传输装置20,该数据传输装置基本上分为第一传输存储器21和第二传输存储器22,其中,第一传输存储器21又分为第一输出缓冲存储器21a和第二输出缓冲存储器22a,而第二传输存储器又分为第一输入缓冲存储器21b和第二输入缓冲存储器22b。起始地址45分别指示了存储器范围的开始。为了协调对存储器范围的写入访问/读取访问,提供了底板总线控制器32和现场总线控制器33供使用。为了实现协调的访问,通过锁定件31对第一状态指示器50和第二状态指示器51进行设定。第一状态指示器50也可以称为全球BitOB_Freeze,例如控制器30的注册表中的一个Bit,且必须通过软件在至输出缓冲存储器上的访问之前或之后设定或复位。第二状态指示器51同样作为全球性的BitIB_Freeze通过软件在至输入缓冲存储器上的访问之前或之后设定或清除,该Bit也是控制器30的注册表中的一个Bit。为此,在控制装置30中,锁定件31这样运行,即在利用输出数据对输出缓冲存储器21a,22a进行写入访问之前或者在对输入缓冲存储器21b,22b上的输入数据进行读取访问之前,对第一状态指示器50或第二状态指示器51进行设定,从而在设定的状态指示器50,51之一中阻止第一和第二传输存储器之间的切换,由此实现了数据一致性。图3示出用于写入输出数据的程序流程图300,其中,输出数据由图1中示出的自动化装置110通过第一总线系统11a发射至接口装置1,并且在第一收发装置11中由接口装置1接收。程序流程图300示出以合适的程序语言的方式的可能的实施方式,用于例如ASIC模块,其中该ASIC模块作为控制装置30将应用在接口装置1中。程序流程图300以写入指令301开始,其中包含有指令,字节i,该字节同样在列表存储装置40中具有索引i,应该写入两个输出缓冲存储器21a和22a之一中。通过询问操作303决定最终字节i写入两个输出缓冲存储器21a,22a的哪个中。然而之前通过设定操作302为第一状态指示器50预设值“1”。在例如ASIC模块中执行的软件优选在数据写入数据传输装置20之前或者在从数据传输装置读取数据之前设定一个Bit,其中,该设定的Bit用于指示,在该时刻不允许执行存储器切换。在写入输出数据方面这表示,冻结(eingefroren)第一输出缓冲存储器21a和第二输出缓冲存储器22a。利用询问操作303询问信号机Si。例如,询问信号机Si也设计为可以接受状态“0”或“1”的Bit。根据图3,除了程序流程图300外还示出了第一稳定状态A和第二稳定状态B。在稳定状态A,B的该图示中,分别示出优选是子插槽的有效数据块的字节的状态。在此,该字节是来自逐字节定向的第一传输存储器21或第二传输存储器22的节选。尤其在用于输出数据的写入的程序流程图300中,在第一稳定状态A和第二稳定状态B的图示中指的是第一输出缓冲存储器21a的字节或者第二输出缓冲存储器22a的字节。信号机Si或信号机Si-1的负值分别表示了对输出缓冲存储器21a或22a的、这种以字节定向的地址的可能的写入访问的许可性。由信号机Si的询问操作303通过NEIN支路,也就是说,信号机Si具有值Si=“1”,得到了对第一输出缓冲存储器21a的写入访问304。在开始时初始化的写入指令301现在具有至第一输出缓冲存储器21a的、利用索引i寻址的字节颗粒的(bytegranulare)存储器单元中的写入许可,从询问操作303的NEIN支路出发的箭头象征性地指示了第一稳定状态A,其是写入访问之前的图示。在对第一输出缓冲存储器21a的写入访问304之后,另一个箭头象征性地指示了第一输出缓冲存储器21a和第二输出缓冲存储器22a的字节颗粒的存储器单元的第二稳定状态B。通过用于存储器切换的通知307以及通过另一个询问第一状态指示器50是否再次设定为“0”以及是否另一个变量“运行中的底板总线”(缩写:RBSY[i])同样具有值“0”的询问操作308达到了第二稳定状态B。如果情况是这样,那么通过存储器切换行为309否定相应地之前发起的信号机Si并且设定了辅助矢量(新数据[N:0]),该辅助矢量用于在对字节i的写入访问之后通知存储器切换。如果询问操作303得出了信号机Si的值=“0”,那么继续进行具有询问操作303的JA支路的程序流程图300,并且允许了对第二输出缓冲存储器22a的写入访问305。因为信号机Si具有值“0”,则对该状态来说现在有效的是输出缓冲存储器21a,22a中的字节颗粒的存储器值的第二稳定状态B。这再次通过象征性的箭头示出。在成功地对第二输出缓冲存储器22a进行写入访问305之后和利用连续的询问操作308询问是否第一状态指示器50=“0”且RBSY[i]变量=“0”以及信号机Si最后在存储器切换行为309中被否定,进行用于存储器切换的通知307之后,在程序流程图300的该下部部分中在写入访问305之后现在从第二稳定状态B出发达到了第一稳定状态A。图4示出用于读取来自相应的第一输出缓冲存储器21a或第二输出缓冲存储器22a的输出数据的程序流程图400。程序流程图400以字节i的读取指令401开始。例如,字节i可以是子插槽的有效数据块内部的字节。该字节i的存储器地址借助于列表存储装置40确定。参考图1,读取指令401表示,输入/输出装置100,例如通过第一插槽101、通过第一子插槽111,通过接口装置1的底板总线提供字节或完整的有效数据块供使用。跟随读取指令401之后是询问操作403,询问是否属于字节i的信号机Si=“1”。如果情况是这样,那么放弃通过JA支路的询问操作403,并进行设定操作405,在该设定操作405中设定变量RBSY[i]=“1”。现在存在一个标志,即底板总线在运行中。此时,允许进行对第二输出缓冲存储器22a的读取访问407。作为用于字节颗粒的访问的象征示出了第一稳定状态A。在成功地对第二输出缓冲存储器22a的读取访问之后可以通过另一个设定操作使变量RBSY[i]复位为“0”,这表示了,底板总线未运行。如果放弃通过NEIN支路的询问操作403,这表示,信号机Si具有值“0”,那么再次通过设定操作404设定变量RBSY[i],并进行对第一输出缓冲存储器21a的读取访问406。该状态又象征性地通过第二稳定状态B象征。在对第一输出缓冲存储器21a的成功的读取访问406之后,在设定操作408中设定变量RBSY[i]为“0”。利用图5示出用于把底板总线控制器32的数据写入到输入缓冲存储器21b,22b中的程序流程图500。从在其中底板总线控制器希望把字节i写入相应的输入缓冲存储器21b,22b中的写入指令501开始,首先在询问操作502中询问,是否属于字节i的信号机Si具有值“0”。如果信号机Si具有值“1”,那么放弃通过NEIN支路的询问操作501,502并允许利用字节I对第一输入缓冲存储器21b的写入访问503。如果信号机Si具有值=“0”,那么允许通过询问操作502的JA支路进行对第二输入缓冲存储器22b的写入访问504。在对第一输入缓冲存储器21b或者对第二输入缓冲存储器22b的成功的写入访问之后,通过用于存储器切换的通知505利用询问操作506询问,第二状态指示器51是否=“0”。此外还询问,是否存在用于存储器切换的释放信号。例如,该释放信号来自底板总线控制器并以信号指示,登记的数据是否完全,或者是否仍缺少数据包。如果设定了释放信号,那么执行存储器切换并否定信号机Si,由此在上部支路中伴随着对第一输入缓冲存储器21b的写入访问503从第一稳定状态A转换为第二稳定状态B,以及另外通过对第二输入缓冲存储器22b的写入访问504从第二稳定状态B转换为字节颗粒地寻址的存储器单元的第一稳定状态A。图6示出用于读取来自输入缓冲存储器21b,22b的数据的程序流程图600。从读取指令601开始,发起对输入缓冲存储器21b,21a的在ASIC模块中执行的软件的读取访问。因为此时输入数据应该由底板总线传输至自动化装置,所以在读取访问之前必须通过设定操作602设定第二状态指示器51,由此最终停止“IB_FREEZE”命令,这表示,相应的输入缓冲存储器21a和21b被冻结。询问操作603通过具有索引i的字节颗粒的寻址询问,信号机Si是否是该待读取的字节i=“1”。如果情况是这样,则允许通过读取访问605对第二输入缓冲存储器22b进行访问,且对信号机Si=“0”的情况而言,允许通过另外的读取访问604对第一输入缓冲存储器21a进行访问。作为解释,字节颗粒的存储器单元的第一稳定状态A和第二稳定状态B又被分配给用于相应的存储器访问支路的程序流程图600。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1