本发明专利技术涉及一种用于通过工业自动化部件的程序进行间接寻址的自动化部件和方法,其中在程序运行时为访问多个存储器单元确定相关的地址。在此,在创建程序期间创建并且存储结构与地址的关联关系,其中在运行时为了访问存储器在第一步骤中确定结构的相关的元素,在第二步骤中从所存储的关联关系中读出相关的地址,并且在第三步骤中借助于地址对存储器进行访问。通过借助于之前确定的关联关系来间接地寻址能够可靠地避免由无效的间接寻址引起的错误的存储器访问,此外,在运行时间内简化间接寻址的形成,因为不必为了访问确定而形成视具体情况而言也复杂的地址计算,而是例如经由在关联关系中的索引来调用。
【技术实现步骤摘要】
【专利摘要】本专利技术涉及一种用于通过工业自动化部件的程序进行间接寻址的自动化部件和方法,其中在程序运行时为访问多个存储器单元确定相关的地址。在此,在创建程序期间创建并且存储结构与地址的关联关系,其中在运行时为了访问存储器在第一步骤中确定结构的相关的元素,在第二步骤中从所存储的关联关系中读出相关的地址,并且在第三步骤中借助于地址对存储器进行访问。通过借助于之前确定的关联关系来间接地寻址能够可靠地避免由无效的间接寻址引起的错误的存储器访问,此外,在运行时间内简化间接寻址的形成,因为不必为了访问确定而形成视具体情况而言也复杂的地址计算,而是例如经由在关联关系中的索引来调用。【专利说明】
本专利技术涉及一种用于对多个存储器单元间接寻址的方法,其中为了访问所述多个存储器单元,在所述程序运行时确定相关的地址;以及一种用于使用在工业自动化装置中以实施所述方法的自动化部件,其中所述自动化部件设立用于通过程序对多个存储器单元进行间接寻址。
技术介绍
为了对微处理器架构的存储器单元进行读或写访问,程序应用例如通过变量映射的地址。除了直接命名变量或者其他类型的地址之外,通常也应用间接的寻址,其中这种存储器访问不直接引用存储器的相关的单元,而是借助于其他变量仅在程序的运行期间确定存储器访问所引用的单元。尤其在创建用于可编程逻辑控制器(PLC)的程序时,在复杂的程序的情况下常常采用间接寻址。这意味着,仅在执行程序期间确定或者形成所引用的存储器区域的或者存储器的所引用的单元的地址,例如作为索引的变量的索引编号或者作为基于文本的变量名的所谓的“字符串”。因此,在运行时才提供用于存储器访问的最终地址,但是在创建用于可编程逻辑控制器的程序时没有提供。在为可编程逻辑控制器所应用的编程语言,例如AWL (指令表)或者SCL (结构化控制语言)中,程序员可以设定对数据模块的存储器区域、物理输入端、物理输出端或者所谓的“标志”(可全局寻址的存储器区域)进行间接寻址。然而在此,间接寻址的应用视具体情况具有相应的缺点。因此,例如在编写程序时仅能够很难地或者完全不能确定所谓的“交叉引用”,也就是说,在编写程序时通常不能够以所需要的精确性形成对特定的地址或者存储器单元的访问的概观,因为在程序运行时才生成实际地址。因此,几乎不能够追踪是否通过间接寻址操纵存储器区域以及操纵哪些存储器区域,以及没有操纵哪些存储器区域。此外,出现所谓的“保护问题”,即在运行时形成地址时必须通过附加的措施确保不会错误地访问无效的或者不存在的存储器区域,这会导致在运行时出现错误。在物理接口方面、尤其是在控制器输出端方面,可能在运行时形成对这样的输出端的不期望地访问,所述输出端不存在或者仅应当由其他的程序部分或者其他的子程序来操纵。
技术实现思路
因此,本专利技术的目的是,对尤其用于可编程逻辑控制器的存储器的间接寻址进行优化。在此,所述目的的解决方案的核心思想是,在编写程序时就已经确定记录了应对于间接寻址可访问的地址的表或者其他的关联关系。因此,通过访问例如能够根据索引变量进行的所述关联关系,在运行时将确定所期望的存储器区域或者所期望的存储器单元的相关联的变量或物理地址,以至于能够借助于间接寻址可靠地防止访问其他存储器单元。所述目的特别是通过一种用于通过工业自动化装置中的自动化部件的程序对多个存储器单元进行间接寻址的方法来实现,其中为了访问所述多个存储器单元,在程序运行时确定相关的地址。在此,在创建程序期间创建并且存储结构与能够由程序所应用的地址中的至少一部分的关联关系,其中在运行时为了访问所述多个存储器单元而通过程序在第一步骤中确定结构的相关的元素,在第二步骤中从所存储的关联关系中读取与所确定的元素中相关联的地址,并且在第三步骤中借助于所述地址访问所述多个存储器单元。通过借助于之前存储的并且确定的关联关系进行间接寻址,能够可靠地避免由无效的间接寻址而导致的错误的存储器访问。此外,通过程序简化间接地址的形成,因为视具体情况用作为地址的复杂的含字母数字的变量名也不必形成为文本,而是能够经由索引借助于关联关系来调用。此外,所述目的通过根据一种用于使用在工业自动化装置中的自动化部件来实现,其中自动化部件设立用于通过程序对多个存储器单元进行间接寻址。在此,自动化部件设立用于实施在之前说明的方法中的第一步骤、第二步骤和第三步骤。通过这种自动化部件能够实现结合所述方法所说明的优点。在本文中给出根据本专利技术的方法的有利的设计方案;在此说明的特征和其优点在一定意义上也适用于根据本专利技术的自动化部件。同样地,在本文中说明的自动化部件的有利的设计方案在一定意义上也适用于根据本专利技术的方法。在一个有利的设计方案中,借助访问所述多个存储器单元来替代地或者附加地读取或者设置自动化部件的或者与自动化部件链接的输入/输出单元的至少一个物理输出端或者至少一个物理输入端。这具有下述优点:通过在关联关系中的相应的条目能够调控对自动化部件的接口的访问,以至于在运行时不会错误地对其他的输入端/输出端进行寻址。当应用引用物理存储器的所期望的单元或者其他地址的变量作为地址时,得到所述方法的尤其普遍的适用性。这具有下述优点,在运行时变量同时也对于直接寻址是可访问的,以至于对同一存储器单元既能够直接地也能够间接地寻址。此外,这导致,既还能够应用具有带有明显的意义的“实名”的变量,而且也能够在运行时经由间接寻址简单地生成访问。在此,当能够阻止程序或者程序的至少部分直接访问在关联关系中引用的地址时,提高了访问安全性,因此例如能够视情况而定在安全重要的存储器单元、尤其是输入端和输出端中防止对变量或者其他地址进行直接访问。有利地,所述方法的第二步骤和第三步骤通过操作系统或者通过自动化部件的固件来实施,以至于不必在程序本身中设有间接寻址的处理。当应用矩阵、尤其是二维矩阵作为关联关系时,得到尤其一目了然的并且在数据方面可良好操作的关联关系。在此有利的是,应用索引变量的或者一维数组的多个元素作为结构,所述数组在矩阵的第二列和/或行中对照存储器单元的可借助于关联关系获得的地址、变量或者标识符。通过在关联关系内将变量分组成多个组和/或应用分别代表一个组的多个关联关系,能够容易地将结构化的访问概念转换为现实。因此可能的是,确定用于寻址的组粒度权限和用于这种访问(例如读或写)的类型的权限。通过每个组包括作为结构的至少一个单独的一维数组,权限管理变得特别明确。也能够在自动化程序中容易地产生这样的一维数组的可能的标识元素的标识符。尤其是借助于分组,不仅能够设定不同组的存储器单元或者地址的访问权限,而且也能够有利地将访问权限指定于至少一个功能、程序模块或者另一程序部分,其中仅与相应的组相关联的功能、程序模块或程序部分允许限定地访问与组相关的地址。为此有利地还可能的是,将关联关系以另一列或者行来扩展,在所述行或列中在编写程序时就已经能够以地址粒度的方式确定被授权的程序部分、程序模块或者功能连同其相应的权限类型(例如读和/或写)。在本专利技术的一个尤其有利的设计方案中可能的是,将结构存储在数据模块中或者程序的类似的对象中,这具有下述优点:在用于可编程逻辑控制器的已知的编程系统中已经已知数据模块,以至于能够借助简单的方式来进行所述数据模块的存储和处理。【专利本文档来自技高网...
【技术保护点】
用于通过工业自动化装置中的自动化部件的程序对多个存储器单元进行间接寻址的方法,其中为了访问所述多个存储器单元,在所述程序运行时确定相关的地址(E0.0,……,DB2.DW0),其特征在于,在创建所述程序期间创建并且存储结构(访问组1[n],访问组2[n])与能够由所述程序应用的地址(E0.0,……,DB2.DW0)中的至少一部分的关联关系(访问组1,访问组2),在运行时,为了访问所述多个存储器单元,所述程序?在第一步骤中确定所述结构(访问组1[n],访问组2[n])的相关的元素,?在第二步骤中从所存储的所述关联关系(访问组1,访问组2)中读出与所确定的所述元素相关联的地址(E0.0,……,DB2.DW0),并且?在第三步骤中借助于所述地址(E0.0,……,DB2.DW0)访问所述多个存储器单元。
【技术特征摘要】
【专利技术属性】
技术研发人员:托比亚斯·舒,
申请(专利权)人:西门子公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。