在子程序中定义局部变量表IN ,OUT,IN_OUT,TEMP等。
用参数调用子例行程序子例行程序可能包含交接的参数。
参数在子例行程序的局部变量表中定义。
参数必须有一个符号名(最多为23个字符)、一个变量类型和一个数据类型。
可向子例行程序交接16个参数或从子例行程序交接16个参数。
局部变量表中的变量类型域定义参数是否交接至子例行程序(IN)、交接至或交接出子例行程序(IN_OUT)或交接出子例行程序(OUT)。
下表说明子例行程序的参数类型。
欲增加参数条目,将光标放在您希望增加的类型的变量类型域上(IN、IN_OUT或OUT)。
单极滑鼠右键,获得选项菜单。
选择“插入”选项,然后选择“下一行”选项。
在当前条目的下方会显示所选类型的另一个参数条目。
调用参数类型说明IN 参数被交接至子例行程序。
如果参数是直接地址(例如VB10),在指定位置的数值被交接至子例行程序。
如果参数是间接地址,(例如*AC1),位于指向位置的数值被交接至子例行程序。
如果参数是数据常量(16#1234)或地址(&VB100),常量或地址数值被交接至子例行程序。
IN_OUT 位于指定参数位置的数值被交接至子例行程序,来自子例行程序的结果数值被返回至相同的位置。
输入/输出参数不允许使用常量(例如16#1234)和地址(例如&VB100)。
OUT 来自子例行程序的结果数值被返回至指定的参数位置。
常量(例如16#1234)和地址(例如&VB100)不允许用作输出。
TEMP 未用作交接参数的任何本地内存不得用于子例行程序中的临时存储。
局部变量表中的数据类型域定义参数的大小和格式。
下表列出了参数类型。
参数数据类型说明功率流布尔功率流仅限用于位(布尔)输入。
该说明通知STEP 7-Micro/WIN 32该输入参数是依据位逻辑指令组合的功率流结果。
布尔功率流输入必须首先在局部变量表中任何其他类型输入之前显示。
只有输入参数允许这样使用。
下例中的启用输入(EN)和IN1输入使用布尔逻辑。
布尔该数据类型用于单位输入和输出。
下例中的IN3是布尔输入。
字节、字、双字这些数据类型分别识别1、2或4个字节不带符号的输入或输出参数。
整数、双整数这些数据类型分别识别2或4个字节带符号的输入或输出参数。
实数该数据类型识别单精度(4个字节)IEEE浮点数值。