搜索
写经验 领红包
 > 情感

plc的寻址方式有几种(plc寻址的意义在哪里)

导语:PLC的寻址方式(二)

2.间接寻址

采用间接寻址时,只有当程序执行时,用于读或写数值的地址才得以确定。使用间接寻址,可实现每次运行该程序语句时使用不同的操作数,从而减少程序语句并使得程序更灵活。

对于S7 -1500 所有的编程语言都可以通过指针、数组元素的间接索引等方式进 行间接寻址。当然,不同的语言也支持特定的间接寻址方式,如在STL编程语言中,可以直接通过地址寄存器寻址操作数。

由于操作数只在运行期间通过间接寻址计算,因此可能会出现访问错误,而且程序可能会使用错误值来操作。此外,存储区可能会无意中被错误值覆盖,从而导致系统做出意外响应。因此,使用间接寻址时需格外小心。

(1)通过指针间接寻址

对于间接寻址,可以使用以下类型的指针: Pointer、Any(S7 -1500 ,仅适用于可标准访问的块)和Variant。第一个表所示为声明各种Pointer指针类型的格式,第二个表所示为声明各种Any指针类型的格式,第三个表所示为声明各种Variant指针类型的格式。

(2) Any元素的间接索引

要寻址人Any元素,可以指定整型数据类型的变量并指定常量作为下标。在此,只能使用长度最长为32位的整数。使用变量时,则可在运行过程对索引进行计算。例如,在程序循环中,每次循环都使用不同的下标。

用于一维数组辰町的间接索引格式为.<ARRAY>[];用于二维数组Array的间接索引格式为.<ARRAY>[,]。其中 <Data Bloack>为数据块名称,<ARRAY>为数组变量名称,和为用作指针的整型变量。

(3) 间接寻址String 的各字符

要寻址String 或 WString的各字符 ,可以将常量和变量指定为下标。该变量必须为整型数据类型。使用变量时,则可在运行过程中对索引进行计算。例如,在程序循环中,每次循环都使用不同的下标。

用于String的间接索引的格式为.<STRING>[];用于WString 的间接索引的格式为.<WSTRING>[]。

(4)STL编程语言中的间接寻址

在STL编程语言中,可以使用存储器间接寻址、寄存器间接内部区域寻址和寄存器间接跨区域寻址。

对于存储器间接寻址,可以在变量中存储地址。变量可以是Word或 DWord数据类型。变量可以位于存储器区域“数据” (DB 或 DI)、 “位存储器” (M)或 “临时本地数据”(L)中。

地址寄存器有地址寄存器1 (AR1)和地址寄存器2 (AR2),长度相等,有 32位,可以在地址寄存器中存储内部区域指针和跨区域指针,实现寄存器和其他可用存储区之间交换数据。

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请与我联系,一经查实立刻删除内容。本文内容由快快网络小媛创作整理编辑!