您现在的位置是:首页 > PLC技术 > PLC技术

STL编程语言的访问数据地址

来源:艾特贸易2017-06-05

简介用户可以通过以下方式存取数据地址: ■利用全局寻址的符号寻址 ■利用全局寻址的绝对寻址 ■利用部分寻址的绝对寻址 在全局数据块中,符号存取数据地址需要最小系统知识。对于

    用户可以通过以下方式存取数据地址:

    ■利用全局寻址的符号寻址

    ■利用全局寻址的绝对寻址

    ■利用部分寻址的绝对寻址

    在全局数据块中,符号存取数据地址需要最小系统知识。对于绝对存取或使用两个数据块寄存器,必须了解以下事项。

    1.数据地址的符号寻址

    建议用户尽可能使用数据地址的符号寻址。符号寻址:

    ■使程序易读、易懂(用有意义的术语作为符号)。

    ■编程期间减少书写错误[在符号表和程序中,程序编辑器比较所用的术语,比如

   DBB 156DBB 165,当使用绝对地址时可能会发生“number switchingerrors

    (数字交叉错误),但在此不会发生]

    ■在机器代码层不需要编程知识(CPU当前打开的是哪个数据块)。

    符号寻址使用全局寻址存取(数据块和数据地址在一起),使得数据地址总是唯一的。

    数据地址的符号地址由两步确定:

    ①符号表中数据块的指定

    数据块是在一个程序内具有唯一地址的全局数据。在符号表中,用户为这个数据块(例如DB 51)的绝对地址指定一个符号(例如Motorl)。

    ②数据块中数据地址的指定

    在编写数据块的程序时,用户定义数据地址的名称(和数据类型),名称仅仅应用在相关联的块中(它是“块局部”的),也可以将相同的名称用于另一个块的另一个变量。

    2.全局寻址存取数据地址

    在全局寻址存取情况下,需将数据块和数据地址一起指定。这种寻址方法可以是符号寻址或绝对寻址:

   L    MOTOR1.AC TVAL;

   L    DB 51.DBW 20;

   MOTOR1是符号表中已经分配给数据块的符号地址。ACTVAL是编程数据块时定义的数据地址。符号名称MOTOR1ACTVAL在数据地址的声明中是唯一的,正如声明DB 51DBW 20一样。

    全局寻址数据存取只可能与全局数据块寄存器(DB寄存器)联系在一起。在全局寻址数据地址的情况下,程序编辑器执行两个语句:首先通过DB寄存器打开数据块,然后存取数据地址。

    用户可以用全局寻址存取用于对所寻址的数据地址的数据类型所允许的所有操作。这些操作是位逻辑操作、用于二进制地址的存储器操作、用于数字地址的加载以及传送功能。例如,用户也能在块参数中规定全局寻址数据地址(参见第19章)。

    3.数据地址的绝对寻址

    对于数据地址的绝对寻址,安装程序编辑器时必须知道数据地址在其中放置的地址,在编程和编译数据块之后通过输出它们找出地址,然后从地址列表中知道有关变量开始处的绝对地址。

    这个过程对所有数据块都是合适的,包括用户所用的全局数据块和实例数据块。以这种方式,也可以知道程序编辑器存储的功能块的块参数和静态局部数据在什么地方。

    例如,数据地址像位存储器一样按字节方式寻址,它们与相同的操作一起使用(如表18-3所示),也以相同的方式执行。

    18-3    带有数据块的操作

带有数据块的操作

带有数据块的操作

    注:x=位地址,y=字节地址,z=数据块的数目。

    如果用户的意图仅仅是把绝对地址分配给数据块的地址,则可以通过一个字段声明保留所需要的字节数。