您现在的位置是:首页 > PLC技术 > PLC技术
SCL编程的间接寻址
来源:艾特贸易2017-06-05
简介1 .全局地址的间接分配 全局地址的间接分配是以绝对寻址为基础的。在方括号中指定一个 INT 变量来代替存储器单元;在位地址的情况下,使用两个 INT 变量: ● E[byteindex, bitindex] 。
1.全局地址的间接分配
全局地址的间接分配是以绝对寻址为基础的。在方括号中指定一个INT变量来代替存储器单元;在位地址的情况下,使用两个INT变量:
●E[byteindex, bitindex]。
●MB [byteindexl。
byteindex和bitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。
用户可用此方法寻址下面的区域:
●外围设备输入PI,外围设备输出PQ(两种情况下都没有位寻址)。
●输入I,输出Q,存储位M。
●全局数据地址D(数据块和数据地址)。
●定时器功能T和计数器功能C(两种功能都没有位寻址)。
2.全局数据地址的间接分配
全局地址的间接分配是以绝对寻址为基础的,但是数据地址和数据块地址在运行时是可以修改的。
用户对数据块既可以分配绝对地址,也可以分配符号地址:
●DBlO.DX[byteindex, bitindexl。
●MotorDaten.DW[byteindexl。
byteindex和bitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。
利用WORD_TO_BLOCK转换功能,可以给数据块分配间接地址,DB数值规定为
变量或WORD数据类型的表达式(见图27-2的举例)。
●WORD_TO_BLOCK_DB (dbindex). DW0.
dbindex是在运行时可以修改的变量或WORD数据类型的表达式。
如果数据块采用间接寻址,该数据地址不能按符号存取。
3.通过块参数BLOCK_DB进行数据地址的分配
如果数据块作为块参数是有效的,其数据地址就可以绝对地和间接地分配(如图27-2所示)。例如,输入参数Data是BLOCK_DB数据类型:
●Data.DW0。
●Data.DX2.0。
●Data.DW [byteindex]。
●Data.DX[byteindex.bitindex]。
byteindex和bitindex是在运行时可以修改的常量、变量或INT数据类型的表达式。
图27-2 全局地址的间接寻址举例
如果数据块可以通过块参数寻址,则该数据地址不能按符号存取。
4.寻址字段
在SCL中,用户可以将常量、变量或INT数据类型的表达式作为字段符号,在运行时对其进行修改,也可以将寻址部分字段作为变量。
在预赋值时,重复因子可以为单个字段数组赋值。