全国服务热线 15801815554

SIEMENS西门子 S120伺服电机 1FK7011-5AK74-1JB3

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


          使用指针进行间接寻址 (S7-1200, S7-1500) 说明 对于间接寻址,要求特定的数据格式,应包含地址或者还包含操作数的范围和数据类型。该 数据格式称为指针。可以使用以下类型的指针: • 引用 (S7-1500) • VARIANT (S7-1200/1500) • POINTER (S7-1500) • ANY(S7-1500,仅适用于可标准访问的块) 有关指针数据类型的更多信息,请参考“另请参见”。 说明 SCL 中的 POINTER 在 SCL 中,POINTER 的使用具有一定限制。只能将其转发到被调用块中。创建一个函数来读取数据块变量的值并将这些值写入 PLC 数据类型。 1. 创建一个 SCL 函数并将其命名为“FC_AccessGroupSiloRead”。 2. 按如下方式声明块接口: 3. 编写以下程序代码: 4. 调用 OB1 中的函数“FC_AccessGroupSiloRead”: 根据 Index 参数中指定的编号(1、2 或 3),执行“FC_AccessGroupSiloRead”指令的第一、第二或 第三种情况。将指针 P#10.0 传递给操作数 MD20。若编程时操作数 MD20 用方括号括起,则在运行时其 将被指针中包含的地址替换。 参见 间接寻址的基础知识 (页 133) 指针 (页 340) ARRAY 元素的间接索引 (S7-1200, S7-1500) 通过可变下标进行 ARRAY 访问 寻址 ARRAY 元素时,可将整型数据类型的常量或变量指定为下标。在此,只能使用长度Zui 长为 32 位的整数。 通过变量进行间接寻址时,仅在程序运行过程中才会计算下标。例如,在程序循环中,每次 循环都使用不同的下标。

        该语法包含以下部分: 部分 说明 MyDB ARRAY 所在数据块的名称 MyArray ARRAY 数据类型的变量 i, j 用作指针的整型 PLC 变量 a 结构的附加局部变量 说明 在调用块并将间接下标寻址的 ARRAY 元素 ("MyDB".MyArray[#i]) 作为 in/out 参数 (InOut) 传 送到块时,块执行过程中不能更改下标变量 [i] 的值。因此,该值通常会写回与读取时相同的 ARRAY 元素中。使用“FieldRead”和“FieldWrite”指令对 ARRAY 元素进行索引 在 LAD 和 FBD 中,还可以使用以下指令对 ARRAY 元素进行间接索引。 • FieldWrite - 写入字段 • FieldRead - 读取字段ARRAY 间接索引的示例 (S7-1200, S7-1500) 示例:在 LAD 中,通过可变下标访问 ARRAY 以下示例以 LAD 为例,显示了对 ARRAY 元素的间接下标访问。"MyArray" 是一个三维 ARRAY。#Tag_1、 #Tag_2 和 #Tag_3 是数据类型为“Integer”的输入参数。根据这些参数的 值,一个 MyArray 元素将复制到 "MyTarget" 变量中。示例:在 SCL 中,通过可变下标访问 ARRAY 以下示例显示了如何通过一个可变下标寻址多个数据块。在本示例中,使用了五个速度控制 轴。这些轴在 SCL 的一个 FOR 循环中进行迭代处理。 1. 首先,创建五个速度控制轴。这五个轴的类型必须相同。 在项目导航中,为每个轴创建一个数据块: 2. 之后,生成一个全局数据块并声明一个 ANY 数据类型的 ARRAY 且带有五个元素。 3. 为了进行初始化,需在启动 OB 中将五个轴的符号名称分别分配给各个 ARRAY 元素。 4. 在 SCL 中,通过一个 FOR 循环迭代访问各个轴。这些轴将传送到函数“MaximumVelocity”中 依次执行。示例:在 STL 中,通过可变下标访问 ARRAY 有关在 STL 中通过可变下标访问 ARRAY 的应用示例,请参见“间接寻址 ARRAY 元素” (页 225)部分。通过 DB_ANY 数据类型间接寻址数据块 (S7-1200, S7-1500) 说明 在 S7-1200/1500 中,可访问编程时仍然未知的数据块。为此,可在访问块的块接口中创建 一个数据类型为 DB_ANY 的块参数。在运行过程中,数据块的名称或数据块编号将传送该参 数中。 要访问该数据块的内部变量,可使用数据类型为 DB_ANY 的块参数名称以及该变量的juedui地 址,参数名称与juedui地址间使用句点进行分隔。 语法 下表列出了通过 DB_ANY 数据类型间接寻址数据块时的语法: 语法 示例 说明juedui寻址 "myDBANY" 参数处 运行过程中进行传 送的数据块中的 "DBX30.0" 变量。间接寻址 STRING 的各字符 (S7-1200, S7-1500) 说明 要寻址 STRING 或 WSTRING 的各字符,可以将常量和变量指定为下标。该变量必须为整型 数据类型。使用变量时,则可在运行过程对索引进行计算。例如,在程序循环中,每次循环 都使用不同的下标。 如果在块调用期间将具有可变下标的 STRING 或 WSTRING 传递给输入/输出参数,请注意:下 标变量 [i] 在开始块调用时读取一次,无法在执行期间由被调用的块进行更改。 说明 在运行过程中监视 STRING 访问 运行过程中写入超出定义长度的 STRING 或 WSTRING 时,程序中可能发生意外响应。在 S7-1200/1500 中,将监视 STRING 或 WSTRING 的长度是否超限。对 STRING 进行读访问时, 将接收到字符“$00”或“$0000”;而对 STRING 的写访问则不执行。如果指令中带有使能输出 ENO,则 ENO 的信号状态将设置为 FALSE。CPU 不切换到 STOP 模式。示例 以下以 SCL 为例,举例说明了对 STRING 进行的间接索引。"STRING", "WSTRING", "CHAR" 和 “WCHAR”是变量。"Tag_1" 是一个整型的 PLC 变量。在 STL 中间接寻址 (S7-1500) 地址寄存器的基本知识 (S7-1500) 简介 两种地址寄存器可用于操作数的间接寻址:地址寄存器 1 (AR1) 和地址寄存器 2 (AR2)。地 址寄存器长度相等,有 32 位。可以在地址寄存器中存储内部区域指针和跨区域指针。要定 义操作数的地址,可以在程序中调用存储的数据。 通过加载和传递指令可以在寄存器和其它可用存储区之间交换数据。 说明 在 S7-1500 中,特殊规则通过地址寄存器和数据块寄存器应用于数据交换: • 在块之外,寄存器中的值不再存在。 • 块中的语言改变时,寄存器将复位。 • 只能引用有保留设置“在 IDB 中设置”的优化访问块中的数据。 • 无法通过地址寄存器(跨区域)引用优化访问块中的本地数据。在 STL 中间接寻址 (S7-1500) 在 STL 中,以下选项可用于间接寻址: • 存储器间接寻址 • 寄存器间接内部区域寻址 • 寄存器间接跨区域寻址 存储器间接寻址 对于存储器间接寻址,可以在变量中存储地址。变量可以是 WORD 或 DWORD 数据类型。变 量可以位于存储器区域“数据”(DB 或 DI)、“位存储器” (M) 或“临时本地数据” (L) 中。 在 S7-1500 中,FB 参数也可用于保存地址。 如果变量位于数据块中,那么必须是一般访问 数据块。 下列示例显示的是存储器间接寻址的应用:如果是寄存器间接内部区域寻址,那么仅通过地址寄存器索引位地址和字节地址(如 P#10.0)。 在编写指令之前,不输入地址寄存器中的地址所应用到的存储区。 地址寄存器 中的地址随后移动到指令中指定的存储区。 可能的存储区有“输入”(I)、“输出” (Q)、“I/O”(PI 或 PQ)、“位存储器” (M)、“临时本地 数据” (L) 和“数据”(DB 或 DI)。 如果操作数位于数据块中,那么必须是一般访问数据块。 输入寄存器间接内部区域寻址时,在指定地址寄存器之后指定偏移量。 这一偏移量被添加 到地址寄存器的内容中,而不会改变地址寄存器。 该偏移量还具有指针的格式。 寄存器间接跨区域寻址 如果是寄存器间接跨区域寻址,则需使用地址寄存器来建立操作数全部地址的索引。即,位 地址和字节地址,以及存储区。 可能的存储区有“输入”(I)、“输出” (Q)、“I/O” (P)、“位存 储器” (M)、“临时本地数据” (L) 和“数据”(DB 或 DI)。 如果操作数被载入数据块,那么 必须为一般访问数据块,否则操作数必须有保留设置“在 IDB 中设置”。 在指令中,仅编写操作数宽度。 可能的操作数宽度为位、字节、字和双字。 下列示例显示的是寄存器间接跨区域寻址的应用:间接寻址 (S7-300, S7-400) 通过指针间接寻址 (S7-300, S7-400) 说明 对于间接寻址,要求特定的数据格式,应包含地址或者还包含操作数的范围和数据类型。 该 数据格式称为指针。 以下提供的是指针类型: • POINTER (S7-300/400) • ANY (S7-300/400) • VARIANT (S7-1200/1500)在 SCL 中间接寻址 (S7-300, S7-400) 数据块的间接寻址 (S7-300, S7-400) SCL 中数据块的间接寻址 可以使用转换函数 WORD_TO_BLOCK_DB 来间接寻址数据块。 因此要将 DB 号指定为 WORD 数据类型的变量或表达式。 语法 以下语法可用于间接寻址数据块:变量的间接寻址 (S7-300, S7-400) SCL 中变量的间接寻址 间接寻址类似于juedui地址寻址。 指定圆括号中的偏移量而非地址。 偏移量由一个字节变量 组成,如果是布尔型操作数,有一字节变量和一位变量。 字节和位变量必须是 INT 数据类 型。 PLC 变量表的定时器和计数器无法以这种方法间接寻址。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061