快捷搜索:  汽车  科技

plc用什么寻址?PLC的寻址方式二

plc用什么寻址?PLC的寻址方式二用于一维数组辰町的间接索引格式为"<Data Bloack>".<ARRAY>["i"];用于二维数组Array的间接索引格式为"<Data Bloack>".<ARRAY>["i" "j"]。其中 <Data Bloack>为数据块名称,<ARRAY>为数组变量名称 "i"和"j"为用作指针的整型变量。要寻址人Any元素,可以指定整型数据类型的变量并指定常量作为下标。在此,只能使用长度最长为32位的整数。使用变量时,则可在运行过程对索引进行计算。例如,在程序循环中,每次循环都使用不同的下标。(1)通过指针间接寻址对于间接寻址,可以使用以下类型的指针: Pointer、Any(S7 -1500 仅适用于可标

2.间接寻址

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

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

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

(1)通过指针间接寻址

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

plc用什么寻址?PLC的寻址方式二(1)

plc用什么寻址?PLC的寻址方式二(2)

plc用什么寻址?PLC的寻址方式二(3)

(2) Any元素的间接索引

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

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

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

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

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

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

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

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

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

猜您喜欢: