专利名称:带有主单元和从属单元的装置的制作方法
技术领域:
本发明涉及一种至少含有一个主单元的装置,该主单元通过一条母线与各从属单元连接,从属单元分别具有一个存储器,主单元以读和/或写的方式访问存储器的数据组。
在1994年出版的西门子产品目录ST54.1,SIMATIC S5,自动化设备一文中,对这种装置作了记载。在一个高效的自动化设备的组件框架中,多个主单元以中心组件的形式通过并行的底板母线与多个作为数字输入/输出组件,模拟输入/输出组件,信号预处理组件或通讯组件的从属单元连接。
主单元以读或写的方式访问从属单元,在主从单元之间进行不同形式的数据交换,例如过程数据、参数数据或诊断数据。为此从属单元通常具有一个存储器,其中数据被存放在为之设定的范围内,主单元通过相应的地址存取这些数据。为保证数据的存取不受干扰,主单元既要识别存储器的大小及存储器不同范围的划分又要识别不同数据类型及其在该范围内的布局。例如,如果一个主单元试图访问一个从属单元中的诊断数据,而该从属单元因不具有诊断功能而不含诊断数据,这时,尤其在自动化设备中,不允许出现诸如延长母线占用时间一类的干扰。为避免上述干扰出现,可以将所有与母线连接的从属单元的存储器设置为相同的大小,并统一设定其范围划分及数据的形式和布局。这意味着,从属单元的各个存储器既要适合于最大的存储器又要适合于布局的最大存储范围。这导致一些从属单元超过设定范围,而且存储范围的大小不能变化。
在德国专利申请P4440789.0中,提出了一种至少含有一个主单元的装置,该主单元通过一条母线与从属单元连接,从属单元分别具有一个存储器,主单元以读和/或写的方式访问存储器的数据组。各从属单元分别含有一个记录范围,主单元通过该记录范围通知从属单元即将进行的存储指令,而从属单元通过该记录范围向主单元发出访问许可或给予拒绝,在发出访问许可时,从属单元向主单元指定一个存储器的地址范围,主单元在记录范围中读出其位置。由此,从属单元存储器的地址范围取决于母线地址范围。
本发明的目的在于提供一种本文前言所述类型的装置,在该装置中,主单元根据一个预定的通信记录统一访问从属单元的数据。此外还要设置一个适合于根据该记录与主单元进行通信的从属单元。
本发明的目的是这样实现的,即所述装置通过如权利要求1特征部分的特征得以实现,其从属单元通过权力要求10所提供的措施得以实现。
所有与母线连接的从属单元都备有一个记录范围,主单元统一访问该记录范围。在记录范围的任务单元里,主单元通知从属单元欲进行的通信指令,从属单元在记录范围的答复单元里记录收到了该指令。主单元在相同的地址下定义参与通信的从属单元的任务单元和答复单元。如果从属单元发出访问许可,它便在答复单元里登记上传输地址,主单元根据该地址存取一个或多个数据组。主单元通过在任务单元里进行相应的登记,通知从属单元数据传输已经完毕,从属单元在答复单元里相应登记表示已接收到该通知。
主单元在同一个传输地址下进行所有数据存取,该地址的位宽最好与母线相适合。从属单元为数据组指定与传输地址不同的存储器的存储地址,因此,从属存储器的地址范围与母线地址范围无关,存储器的大小可以与从属单元的要求相适合。
从属单元自己管理其存储器,主单元既不知道存储器的大小也不知道存储器各不同范围的划分,因此,不需要为主单元建立有关从属单元存储器的目录,由此缩短了运行时间。存储器的大小和划分仅仅取决于不同从属单元的功能。尤其在从属单元中,上述方式可节省下类存储组件,例如该存储组件只含有诊断数据或根本不能处理数据组,因而不含有过程数据,参数数据和诊断数据的存储器。
需要写入及读出的数据组分别含有一个数据组号,需执行写指令时,主单元在任务单元登记待写的数据组的长度,需执行读指令时,从属单元在答复单元登记待读数据组的长度。这些长度值支持不同的数据组,如8字节(Byte),16字节或32字节数据组,这样可以扩展从属单元的功能,而不至于影响到主单元(否则,必须扩大存储器和数据组)。
某些从属单元根本不含有用于这类数据组的存储器,为使这些从属单元参与通信记录,在任务单元里通过一个固定的标记拒绝主单元访问这类数据组,通常主单元通过一个插接位置地址和一个相应的标记访问例如形式为数字输入/输出设备的从属单元。
可以对该装置扩展具有不同功能的从属单元,其前提是从属单元提供必要的记录范围,供主单元通过该记录范围与从属单元开始通信。
该装置可以包括多个分别带有一个标记的主单元。执行读或写指令的主单元将其标记登记到任务单元,其中每个主单元通过其所属的传输地址访问从属单元。
通信记录由开始电文和结束电文组成,其中,开始电文包括开始存取数据组的标记登记,结束电文包括结束存取数据组的标记登记。一个开始电文中断当前的数据组存取,同时,数据组号和数据组中尚需传输的数据的存储地址范围被存放在从属单元的记录存储器中。从属单元的记录存储器分为多个范围,其中每个主单元使用一个范围。这样不仅对于主单元,而且对于从属单元都可以保证任务和答复之间的正确搭配,从属单元可以与指定的单个主单元进行通信。
本发明的其它改进设计,根据从属权利要求得到。
本发明可特别用于自动化设备中。
以下将结合附图和实施例进一步描述本发明及其改进设计,附图中
图1为一个从属单元的记录范围;图2至图4为一个从属单元存储管理的功能图;图5为一个从属单元计算电路的电路方块图。
图1描述了一个从属组件的某记录范围,该范围包括一个任务单元和一个答复单元,其中,任务单元1由三个寄存器3,4,5组成,答复单元2由两个寄存器6,7组成。寄存器3…7可采用地址ad1…ad5,主单元对寄存器3,4,5执行写指令,对寄存器6,7执行读指令,而从属单元对寄存器6,7执行写指令,对寄存器3,4,5执行读指令。为开始执行一个存取指令,主单元首先在寄存器3中登记多个标记,在寄存器3的0单元登记一个表示将要进行的写或读指令的标记,在单元1和2中登记表示开始执行指令的标记,在单元6和7登记表示该主单元的标记。单元3…5不被登记,它们作为备用单元,用于可能的功能扩展。主单元将需存入从属单元存储器或从中读出的数据组的号存入寄存器4。需执行写指令时,主单元在寄存器5中存入待写数据组的长度标记。需执行读指令时,从属单元在寄存器6中存入待读数据组的长度标记。这意味着,在执行写指令时,主单元写寄存器3,4,5,而从属单元读寄存器3,4,5,从属单元只写寄存器7,主单元读寄存器7。在开始一读指令时,主单元只写寄存器3,4,而从属单元除写寄存器7外还写寄存器6的答复单元。从属单元通过在寄存器7中的0和1单元进行相应的登记通知主单元是否有权读出该数据组号标记的数据组。从属单元可以通过登记通知主单元,暂时不能访问该指定数据组,因为从属单元正在处理该数据组,也可以通知主单元根本不能访问该数据组,因为从属单元不认识所要求的数据组,也可以允许主单元访问所要求的数据,此时,从属单元在寄存器7的2…6单元为主单元提供一个传输地址,主单元根据此地址访问数据组。寄存器7的7单元不被占用,可以用于可能的功能扩展。
在对寄存器3…7登记完后,在存在访问许可时,主单元根据给定的传输地址访问位于从属单元存储器中的数据,这意味着从属单元与主单元之间的数据传输采用相同的地址。主单元通过在寄存器3中的1和2单元内重新登记相应的标记通知从属单元已结束数据访问,从属单元在寄存器7中的0和1单元写入预定的标记,表示收到访问结束通知。
在一个本发明的实用实施例中,为寄存器3…7设定了以下标记寄存器3的6和7单元00=主单元101=主单元210=主单元311=主单元4寄存器3的1和2单元00=备用01=访问开始10=访问结束11=中断/再启动寄存器3的0单元0=写1=读寄存器4的数据组号0…255寄存器5和6的数据组长度(字节)0…255
寄存器7的0和1单元00=备用01=回复负(临时)10=回复正11=回复负(通常表示从属单元不认识数据组号)寄存器7中的2…6单元12=传输地址17613=传输地址18014=传输地址18415=传输地址18816=传输地址19217=传输地址19618=传输地址20019=传输地址20420=传输地址20821=传输地址212寄存器3的3…5单元和寄存器7的7单元用做备用。
图2所示的是一个从属单元的某存储器10,一用户程序要将用于从属单元参数化的参数数据记录到该存储器。在图1和图2中的相同部分用相同的符号表示。其中上述实施例中的记录范围是记录存储器8的组成部分。为实行参数化,用户程序必须根据为该设备预定的参数化规范将参数存放在一个数据组号为30的数据组中。主单元产生一个写信号WR并在记录存储器8中写下以下内容在寄存器3的任务单元写入标记0(图1中的单元0)表示欲执行写指令,写入标记01(未示出)表示写指令开始(图1,单元1和单元2),在寄存器4中写入参数化数据组的号30,寄存器5中写入该数据组的长度Lae30。从属单元首先读出寄存器3,4的内容并根据从属单元中的表9识别出允许(标记10)主单元写入参数化数据组的号30。接着从属单元将该数据组的长度Lae30记录到表上,指定该数据组的标记为12,用于传输地址176,177,178和179,并将标记12写入寄存器7(图1,单元2…6)。此时,主单元产生一个读信号RD用于读出寄存器7的内容,并在下一步骤在记录存储器8的传输地址176…179中写下长度为Lae30的参数化数据组。从属单元为该数据组指定一个地址adr30并将该数据组存放在存储器10中的此地址下。当然会出现以下情况,即主单元必须在记录范围的传输地址176…179下多次写入及从属单元必须多次读出此范围。这种情况的例子为数据组长度大于4字节(Byte),但记录存储器的宽度仅有8位(Bit),这意味着,主单元在一次访问数据时,只能读出4字节。在主单元根据传输地址176…179完成了数据组号为30的数据传输后,便通知从属单元写指令结束(未示出),为此主单元重新产生写信号并在寄存器3中写入标志10,表示存取结束。从属单元读出寄存器3的内容,并通过在寄存器7的答复单元中写入标记11(正答复)表示收到了结束信号,由此写指令执行完毕。
图3描述了由从属单元的存储器10读出数据的过程。在此假设要读出号为40的数据组。主单元先产生一个写信号WR并在寄存器3中写入标记1,表示欲执行读指令,写入标记01(未示出)表示开始执行指令,并在寄存器4中写出待读的数据组的号40。从属单元读出寄存器3和4的内容,并根据标记10和表9判定允许读出40号数据组,接着从属单元将数据组的长度Lae40和用于转输地址176,177,178和179的标记12从表9中读出并写入寄存器6和7的答复单元2。主设备在产生读信号RD后,读出寄存器6、7的内容并在传输地址176…179下读出记录存储器的内容(40号数据组),该数据组事先由从属单元从存储器10的地址adr40下读出并写入记录存储器的传输地址下。对于读指令也可能出现下列情况,即从属单元根据待读数据组的长度和记录存储器的宽度必须多次写入传输地址为176…179的记录范围,而主单元必须多次读出该范围,才能全部读出该数据组。主单元在寄存器3中通知从属单元已完成读指令,从属单元通过寄存器7表示收到该结束信号。
在图4中,记录存储器8含有4个叠式存储范围SB1…SB4,每个存储范围分别通过标记00,01,10和11(图1)与四个主单元之一相搭配。图中分开表示记录范围1,2和记录存储器8及控制表9和从属单元10,这并不意味着对通用性有所限制。当然也可以根据图2和图3或其它适当的形式进行范围划分。
首先假设,主单元1(标记00)通过第一个开始电文(该电文包含用于标记某访问指令开始的登记和表示该主单元的标记00)启动对数据组的访问。从属单元的记录控制程序11从任务单元中读出该开始电文,检查访问许可,在发出访问许可时,在答复单元2中写入用于标记传输地址176…179的标记12,标记12与主单元1搭配。主单元1访问从属单元中此传输地址下的寄存器,从属单元将要求的数据写入该寄存器或从中读出。有时,根据主单元1的控制程序的设定,该数据组访问指令可能被中断,主单元1不得不访问另一个数据组。为此主单元1在任务单元1中写入第二个开始电文,记录控制程序11首先将目前中断的数据组的号nr-akt、待传输的数据组的长度lae-akt及存储器当前地址adr-akt(尚未传输的数据位于从属存储器10的该地址下)登记到叠式存储器SB1中。完成数据保护后,从属单元通过第二个开始电位处理启动的数据传输。完成该数据传输后(主单元1通过终止电位通知从属单元),再执行被中断的数据传输。这首先要求,记录控制程序11先读出叠式存储器SB1中的信息(即数据组号nr-akt,数据组长度lae-akt,存储地址adr-akt),以便继续进行数据传输。主单元通过与该数据组相应的结束电文再次通知从属单元已完成数据传输。
下面描述从属单元对多个主单元的记录进行处理的过程。在此假设,主单元2在任务单元1中登记对于某数据组执行写指令的开始电文,而主单元1正在执行对该数据组的写指令(交叉写指令)。在这种情况下,从属单元在答复单元2中暂时给予主单元2负答复(图1中的标记01)。也可以执行交叉读指令,即多个主单元读同一个数据组,不过考虑到设备的性能不应选择过高的交叉级别。每个主单元都配有自己的传输地址,主单元根据该地址访问数据组。为使对同一数据组进行的写和读指令可以同步、交叉实现,将从属单元10分为一个写范围和一个读范围。从属单元将一个通过写指令已被改变的数据组存放在读范围,该数据组在此过程中始终采用相同的数据组号。
为达到确定性的行为,所有从属单元必须在一个确定的时间内答复主单元。如果多个主单元要访问同一个数据组,从属单元必须给予首先发出欲访问指令的主单元正答复,而暂时给予其它主单元负答复。
图5是一个从属单元简单计算电路的电路方块图。它适用于计算三个不同的数据组,该数据组号分别为51,52,53。在一个写信号WR的有效区间通过母线BU在任务单元1中写入相应的待计算的标记。不过在上例中,欲进行访问的主单元的标记MK和数据组长度lae没有被计算。数据组被输送到比较器V1,V2,V3这些比较器检查主单元是否有权访问数据组51,52,53。借助秘密逻辑,检查用于表示任务开始、任务结束或中断的标记Ke。编码器EN为数据组分配一个传输地址Adr,如果允许访问数据组51,52,53并且标记Ke是容许标记,答复单元2中被登记上正答复。主单元在读信号RD的有效区间读出答复单元2,通过已读出的传输地址Adr实现数据组51,52,53在主单元和从属单元之间的传输。这种简单计算电路不能识别多重任务,也不能互相封锁多重任务。
权利要求
1.一种至少含有一个主单元的装置,该主单元通过一条母线与从属单元连接,从属单元分别含有一个存储器。主单元以读和/或写的方式访问存储器的数据组,其特征在于从属单元分别含有一个用于通信记录的记录范围(1,2),主单元通过该记录范围通知某从属单元即将进行的存取指令,从属单元向主单元发出访问许可或给予拒绝,在发出访问许可时,从属单元分配给主单元至少一个传输地址,主单元从记录范围读出该传输地址并根据该地址访问数据组。
2.根据权利要求1所述的装置,其特征在于从属单元给数据组分配存储器的存放地址。
3.根据权利要求1或2所述的装置,其特征在于为主单元设定相同的传输地址,用于数据访问。
4.根据权利要求1至3中任一项所述的装置,其特征在于记录范围包括一个任务单元(1)和一个答复单元(2),主单元在任务单元(1)写入写或读标记,及表示访问开始或结束的标记并在执行写指令时,写入待写的数据组的长度(lae30),从属单元在答复单元(2)写入访问许可标记及传输地址并在存在读指令时写入待读数据组的长度(lae40)。
5.根据权利要求1至4中任一项所述的装置,其特征在于为数据组设定了数据组号(30,40),主单元将该数据组号登记到任务单元(1)中。
6.根据权利要求1至5中任一项所述的装置,其特征在于通信记录由一个开始电文和一个结束电文组成,开始电文包含数据组访问开始标记的登记,结束电文包含数据组访问结束标记的登记。
7.根据权利要求6所述的装置,其特征在于一个开始电文中断正在进行的数据组访问,从属单元含有一个记录存储器,被中断的数据组的号及该数据组尚未传输的数据的存储地址范围被存放在该记录存储器。
8.根据权利要求1至7中任一项所述的装置,其特征在于该装置至少含有另一个主单元,每个主单元都有各自的标记,欲执行访问指令的主单元将其标记写入记录范围,并为各主单元设定了不同的传输地址。
9.根据权利要求1至8中任一项所述的装置,其特征在于备有另一个含有记录范围的从属单元,该记录范围包括一个含有固定标记的答复单元,主单元读出此单元的内容,由此从属单元拒绝主单元执行读和/或写指令。
10.一种从属单元,适用于如权利要求1至9中任一项所述的一个装置。
11.一种带有如权利要求1至9中任一项所述装置的自动化设备。
全文摘要
一种至少含有一个主单元的装置,该主单元通过一条母线与从属单元连接,从属单元分别含有一个存储器,主单元以读和/或写的方式访问该存储器。通过适当的手段可以使主单元根据预定的通信记录统一进行对各从属单元的数据的访问。此外还介绍了一种适合于按照该记录与主单元进行通信的从属单元。本发明可用于自动化设备中。
文档编号G06F13/16GK1163668SQ95196191
公开日1997年10月29日 申请日期1995年6月6日 优先权日1994年11月17日
发明者迈克尔·艾伯特, 于尔根·库勒斯, 艾伯特·伦斯克勒 申请人:西门子公司