6ES7534-7QE00-0AB0详细参数
6ES7534-7QE00-0AB0详细参数
6ES7534-7QE00-0AB0详细参数
带调用参数调用子例程子例程可选择使用传递参数。这些参数在子例程的变量表中定义。必须为每个参数分配局部符号名称(多 23
个字符)、变量类型和数据类型。一个子例程多可以传递十六个参数。变量表中的
VAR_Type 类型字段定义变量是传入子例程 (IN)、传入和传出子例程
(IN_OUT),还是传出子例程 (OUT)。
要添加新参数行,请将光标置于要添加变量类型 IN、IN_OUT、OUT 或 TEMP 的
Var_Type 字段上。单击鼠标右键打开选择菜单。选择“”(Insert)选项,然后选择“下一行”(Row Below)
选项。所选类型的另一个参数行将出现在当前条目下方。
可在变量表中分配临时 (TEMP) 参数来存储只在子例程执行中有效的数据。局部
TEMP 数据不会作为调用参数进行传递。也可在主例程和中断例程中分配 TEMP
参数,但只有子例程可以使用 IN、IN_OUT 和 OUT 调用参数。
参数 | 说明 |
IN | 参数传入子例程。如果参数是直接地址(例如 VB10),则位置的值传入子例程。如果参数是间接地址(例如 *AC1),则指针指代位置的值传入子例程。如果参数是数据常数 (16#1234) 或地址 (&VB100),则常数或地址值传入子例程。 |
IN_OUT | 参数位置的值传入子例程,子例程的结果值返回至同一位置。常数(例如 16#1234)和地址(例如 &VB100)不允许用作输入/输出参数。 |
OUT | 子例程的结果值返回至参数位置。常数(例如 16#1234)和地址(例如 &VB100)不允许用作输出参数。由于输出参数并不保留子例程后一次执行时分配给它 的值,所以每次调用子例程时必须给输出参数分配值。 |
TEMP | 没有用于传递参数的任何局部存储器都可在子例程中作为临时存储单元使用。 |
调用参数允许的数据类型
● 能流:布尔能流仅允许用于位(布尔)输入。此声明将输入参数分配给基于位逻辑指令组合的能流结果。能流输入与 EN 输入相似,都与位逻辑(例如,LAD
触点)相连接,而不连接到直接/间接地址分配。必须在变量表的上一行(或多行) 布尔能流输入,然后再任何非布尔数据类型。只有输入参数可以这样使用。下例中的使能输入 (EN) 和 IN1 输入使用能流逻辑。
● BOOL:此数据类型用于单个位输入和输出。下例中的 IN3
是分配给直接地址的布尔输入。
● BYTE、WORD、DWORD:这些数据类型分别标识 1、2 或 4
字节的无符号输入或输出参数。
● INT、DINT:这些数据类型分别标识 2 或 4 字节有符号输入或输出参数。
● REAL:此数据类型标识单精度(4 字节)IEEE 浮点值。
● STRING:此数据类型用作指向字符串的四字节指针