SIEMENS西门子 ET200S输入模块 6ES7 134-4GD00-0AB0
关于 SCL 中块调用的基本信息 调用函数块 调用的语法 下列语法用于以单个背景或多重背景方式调用函数块: • 单个背景: – 如果函数块来自项目:(参数列表) – 如果函数块来自“指令”(Instructions) 任务卡:.<指令名称> (参数列表) 或 <指令名称> (参数列表) • 多重背景 <#背景名称> (参数列表) 以单个背景或多重背景的方式调用 可以单个背景或多重背景方式调用函数块。 • 以单个背景方式进行调用 调用的函数块将其数据存储在自身的数据块中。 • 以多重背景方式进行调用 调用的函数块将其数据存储在调用函数块的背景数据块中。 关于调用类型的更多信息,请参见“另请参见”。 递归块调用 用户可采用递归方式进行块调用。即,块可以自我调用。请注意,此类调用的深度限值为 24 级,且不支持多重背景。 参数列表 如果要从 SCL 块调用另一个代码块,可以为被调用块的形参提供实参。
可以通过赋值指令指定这些参数。该赋值指令可以为被调用块中定义的参数进行赋值(实 参)。 调用后将在括号内直接列出被调用代码代的形参。输入参数和输入输出参数的赋值标识符为 “:=”,输出参数的赋值标识符为“=>”。参数后面的占位符表示所需的数据类型和参数类型。 参数的指定规则 下列规则适用于指定参数: • 常数、变量和表达式可作为实参。 • 赋值的顺序不重要。 • 形参和实参的数据类型需匹配。也选择某些特定实参,其数据类型可隐式转换为形参的 数据类型。 • 各赋值操作通过逗号进行分隔。 • 如果被调用的块中只有一个参数,那么在括号中指定的就是实参。无需再指定形参。调用函数 调用的语法 以下语法用于调用函数: <函数名称> (参数列表); //标准调用 <操作数>:=<函数名称> (参数列表); //在表达式中调用 函数值 在 SCL 中,提供返回值的函数可在任何表达式中代替操作数。因此,返回值也称为 SCL 中的 “函数值”。函数的调用选项取决于函数是否将函数值返回到调用块。 在 RET_VAL 参数中定义函数值。如果 RET_VAL 参数为 VOID 数据类型,则函数不会向调用 块返回值。如果 RET_VAL 参数为另一种数据类型,则函数会返回该数据类型的函数值。 在 SCL 中,RET_VAL 参数可以使用除 ANY、ARRAY、STRUCT 和 VARIANT,以及 TIMER 和 COUNTER 参数类型之外的所有数据类型。 调用选项 SCL 中的调用函数有两种可能: • 函数(有和没有函数值)的标准调用 使用标准调用,可以将函数的结果作为输出参数或输入输出参数。 • 在有函数值的函数中调用表达式 返回函数值的函数可以在任何表达式中代替操作数,例如,在赋值表达式中。 函数计算函数值(与函数同名),并将其返回到调用块。这里,该值可替换此函数调用。 调用后,函数的结果将作为函数值或作为 output 和 in-out 参数提供。 递归块调用 用户可采用递归方式进行块调用。即,块可以自我调用。请注意,此类调用的深度限值为 24 级,且不支持多重背景。 参数列表 如果要从 SCL 块调用另一个代码块,则需要为被调用块的形参提供实参。 可以通过赋值指令指定这些参数。该赋值指令可以为被调用块中定义的参数进行赋值(实 参)。 调用后将在括号内直接列出被调用代码代的形参。输入参数和输入输出参数的赋值标识符为 “:=”,输出参数的赋值标识符为“=>”。参数后面的灰色占位符表示所需的数据类型和参数类型。 参数的指定规则 下列规则适用于为函数指定参数: • 必须提供该函数的所有参数。 • 赋值的顺序不重要。 • 常数、变量和表达式可作为实参。• 形参和实参的数据类型需匹配。也选择某些特定实参,其数据类型可隐式转换为形参的 数据类型。 • 各赋值操作通过逗号进行分隔。 • 如果被调用的块中只有一个参数,那么在括号中指定的就是实参。无需再指定形参。 • 在 SCL 中调用函数时,无法通过 EN 使用释放机制。可以使用 IF 声明代替有条件调用函数。手动插入块调用 在此,可插入函数 (FC) 调用和函数块 (FB) 调用。函数块可作为单实例、多重实例或参数实 例进行调用。 另请参见“实例的基本知识 (页 71)” 插入一个函数调用 (FC) 插入函数调用的步骤如下所示: 1. 输入函数的名称。 2. 单击 Enter 键确认输入。 3. 在右键快捷菜单中,选择“显示所有参数”(Show all parameters) 命令或按下组合键。此外,也可以单击功能栏中的“折叠/展开块调用的参数列 表”(Expands/collapses the parameter list of block calls)。 将包含参数列表的函数调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择第 一个占位符。 4. 用实参替换该占位符。也可从接口或 PLC 变量表中将一个变量拖放到占位符处。 5. 用键导航到所有其它占位符,然后用实参进行替换。通过组合键,可浏 览到之前使用的占位符。 插入一个函数块调用 (FB) 要插入函数块 (FB) 调用,请按以下步骤操作: 1. 输入函数块的名称。 2. 输入一个左括号“(”。 将打开“调用选项”(Call options) 对话框。 3. 单击“确定”(OK),确认输入。 将包含参数列表的函数块调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择 第一个占位符。 4. 在此对话框中,可输入要将该块调用为单实例、多重实例或参数实例。 – 单击“单实例”(Single instance) 按钮时,可在输入字段“名称”(Name) 中输入待分配 给该调用的数据块名称。 如果调用的块中包含监视,则可在“ProDiag 函数块”(ProDiag FB) 文本框中为监视函数 指定一个 ProDiag 函数块。 – 单击“多重实例”(Multi instance) 按钮时,可在“接口中的名称”(Name in the interface) 字段中输入变量的名称,输入的被调用函数块将在调用块的该接口中作为 一个静态变量。 – 单击“参数实例”按钮,可在“接口中的名称”(Name in the interface) 文本框中输入 in/out (InOut) 参数的名称,在运行过程中将传送该参数处的实例。 5. 用实参替换该占位符。也可从接口或 PLC 变量表中将一个变量拖放到占位符处。 6. 用键导航到所有其它占位符,然后用实参进行替换。通过组合键,可浏 览到之前使用的占位符。 结果 插入该块调用。 如果在调用函数块时指定的背景数据块不存在,则会创建该背景数据块。使用拖放操作插入块调用 可以从项目树中通过拖放操作,插入当前的函数 (FC) 调用和函数块 (FB) 调用。 函数块可作为单实例、多重实例或参数实例进行调用。 另请参见“实例的基本知识 (页 71)” 要求 待调用的函数 (FC) 或函数块 (FB) 存在。 插入一个函数调用 (FC) 要使用拖放操作插入函数调用,请按以下步骤操作: 1. 将函数从项目树拖放到程序中。 将包含参数列表的函数调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择第 一个占位符。 2. 用实参替换该占位符。也可从接口或 PLC 变量表中将一个变量拖放到占位符处。 3. 用键导航到所有其它占位符,然后用实参进行替换。通过组合键,可浏 览到之前使用的占位符。 插入一个函数块调用 (FB) 要使用拖放操作插入函数块 (FB) 调用,请按以下步骤操作: 1. 将函数块从项目树拖放到程序中。 将打开“调用选项”(Call options) 对话框。 2. 在此对话框中,可输入要将该块调用为单实例、多重实例或参数实例。 – 单击“单实例”(Single instance) 按钮时,可在输入字段“名称”(Name) 中输入待分配 给该调用的数据块名称。 如果调用的块中包含监视,则可在“ProDiag 函数块”(ProDiag FB) 文本框中为监视函数 指定一个 ProDiag 函数块。 – 单击“多重实例”(Multi instance) 按钮时,可在“接口中的名称”(Name in the interface) 字段中输入变量的名称,输入的被调用函数块将在调用块的该接口中作为 一个静态变量。 – 单击“参数实例”按钮,可在“接口中的名称”(Name in the interface) 文本框中输入 in/out (InOut) 参数的名称,在运行过程中将传送该参数处的实例。 3. 单击“确定”(OK),确认输入。 将包含参数列表的函数块调用语法添加到 SCL 程序中。实参的占位符以黄色高亮显示。选择 第一个占位符。 4. 用实参替换该占位符。也可从接口或 PLC 变量表中将一个变量拖放到占位符处。 5. 用键导航到所有其它占位符,然后用实参进行替换。通过组合键,可浏 览到之前使用的占位符。 结果 插入该块调用。 如果在调用函数块时指定的背景数据块不存在,则会创建该背景数据块。