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

SCL编程的间接寻址

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

简介1 .全局地址的间接分配 全局地址的间接分配是以绝对寻址为基础的。在方括号中指定一个 INT 变量来代替存储器单元;在位地址的情况下,使用两个 INT 变量: ● E[byteindex, bitindex] 。

    1.全局地址的间接分配

    全局地址的间接分配是以绝对寻址为基础的。在方括号中指定一个INT变量来代替存储器单元;在位地址的情况下,使用两个INT变量:

    E[byteindex, bitindex]

    MB [byteindexl

   byteindexbitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。

    用户可用此方法寻址下面的区域:

    ●外围设备输入PI,外围设备输出PQ(两种情况下都没有位寻址)。

    ●输入I,输出Q,存储位M

    ●全局数据地址D(数据块和数据地址)。

    ●定时器功能T和计数器功能C(两种功能都没有位寻址)。

    2.全局数据地址的间接分配

    全局地址的间接分配是以绝对寻址为基础的,但是数据地址和数据块地址在运行时是可以修改的。

    用户对数据块既可以分配绝对地址,也可以分配符号地址:

    DBlODX[byteindex, bitindexl

    MotorDatenDW[byteindexl

   byteindexbitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。

    利用WORD_TO_BLOCK转换功能,可以给数据块分配间接地址,DB数值规定为

    变量或WORD数据类型的表达式(见图27-2的举例)。

    WORD_TO_BLOCK_DB (dbindex).  DW0.

   dbindex是在运行时可以修改的变量或WORD数据类型的表达式。

    如果数据块采用间接寻址,该数据地址不能按符号存取。

    3.通过块参数BLOCK_DB进行数据地址的分配

    如果数据块作为块参数是有效的,其数据地址就可以绝对地和间接地分配(如图27-2所示)。例如,输入参数DataBLOCK_DB数据类型:

    DataDW0

    DataDX2.0

    DataDW [byteindex]

    DataDX[byteindex.bitindex]

   byteindexbitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。

全局地址的间接寻址举例

    27-2    全局地址的间接寻址举例

    如果数据块可以通过块参数寻址,则该数据地址不能按符号存取。

    4.寻址字段

    SCL中,用户可以将常量、变量或INT数据类型的表达式作为字段符号,在运行时对其进行修改,也可以将寻址部分字段作为变量。

    在预赋值时,重复因子可以为单个字段数组赋值。