在图3-58的子程序变量表中,各类型的参数在变量表中的位置是按以下先后顺序排列的。
1)最前面为能流,仅允许对位输入EN操作,是位逻辑运算的结果。在局部变量表中布尔能流输入处于所有类型的最前面。
2)其次为输入参数,用于传人子程序参数。由调用程序传人的参数可以是直接寻址数据(如VB10)、间接寻址数据(如*ACI)、立即数(如16 #2344)和数据存储单元的地址值(如&VB106)。
3)紧接着是输入输出参数,用于传人传出子程序参数,在调用子程序时将指定参数位置的值传到子程序,在子程序返回时把从子程序得到的结果值回传到同一地址。参数可以采用直接和间接寻址,但立即数(如16#1234)和地址值(如&VB100)不能作为参数。
4)然后是子程序返回(输出)参数,用于传出子程序参数。它将从子程序返回的结果值送到指定的参数位置。输出参数可以采用直接和间接寻址,但不能是立即数或地址编号。
5)最后是TEMP类型的暂时变量,用于在子程序内部暂时存储数据,不能用来与主程序传递参数数据。
(3)参数子程序调用的规则
在使用带参数的子程序进行子程序调用指令时应遵循以下规则。
1)常数参数必须声明其数据类型;同一常数可以解释为不同的数据类型。为此,在使用常数作为子程序调用参数时,必须声明常数所属数据类型。例如,常数200000为无符号双字,在作为调用子程序的参数传递时,必须用DW#200000表示。
2)调用参数必须按照输入参数(IN)→输入输出参数(IN/OUT)→输出参数(OUT)这样的顺序排列。
3)一般来说,子程序变量表中的参数应与调用程序传递的参数类型一致,但在传递时如果不一致,则子程序参数类型为调用程序参数类型。例如,子程序变量表中声明一个参数为实型,而在调用时对应使用的参数为双字类型,则子程序中的这个参数就是双字类型。
(4)变量表使用
在子程序编辑窗口的局部变量表中要加入一个参数,用鼠标右键单击要加入的变量类型区可以得到一个快捷菜单,选择“Insert”(插入),然后选择“Row Below”(下一行)即可。若要删除一个参数,可以用鼠标单击该行最左边地址栏,然后按( Delete)键即可。局部变量表的变量使用局部变量存储器,编程软件从起始地址L0.0开始自动给各参数分配局部变量存储空间。
【例3-15】 在S7-200 PLC的编程软件中已设计好子程序(略)和变量表,子程序名为SBR_0,其子程序变量表如图3-58中的表格所示。子程序调用指令如图3-59所示。
图3-58 子程序变量表
图3-59 带参数子程序调用示例
本文关键字:子程序 PLC程序,plc技术 - PLC程序
上一篇:信捷PLC的编程方式