您现在的位置是:首页 > PLC技术 > PLC技术

S7-200系列PLC的带参数的子程序调用

来源:艾特贸易2017-06-04

简介子程序中可以有参变量,带参数的子程序调用扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。 (1) 子程序

    子程序中可以有参变量,带参数的子程序调用扩大了子程序的使用范围,增加了调用的灵活性。子程序的调用过程如果存在数据的传递,则在调用指令中应包含相应的参数。    (1)子程序参数。子程序最多可以传递16个参数。参数在子程序的局部变量表中加以定义。参数包含下列信息:变量名、变量类型和数据类型。    ④变量名。最多用8个字符表示,第一个字符不能是数字。    ②变量类型。变量类型是按变量对应数据的传递方向来划分的,可以是传入子程    序参数(IN),传入/传出子程序参数(INIOUT)、传出子程序参数(OUT)和暂时    变量( TEMP)4种类型。4种变量类型的参数在局部变量表中的位置必须按以下    先后顺序。    ·IN类型:传入子程序参数。所接的参数可以是直接寻址数据(如VB100)、间    接寻址数据(如AC1)、立即数(如16#2344)和数据的地址值(    &VB106)    ·IN/OUT类型:传入/传出子程序参数。调用时将指定地址的参数值传到子程    序,返回时从子程序得到的结果值被返回到同一地址。参数可以采用直接和间    接寻址,但立即数(如16#1234)和地址值(如&VB100)不能作为参数。    ·OUT类型:传出子程序参数。它将从子程序返回的结果值送到指定的参数位    置。输出参数可以采用直接和间接寻址,但不能是立即数或地址编号。    ·TEMP类型:暂时变量类型。在子程序内部暂时存储数据,不能用来与主程序   传递参数数据。    ③数据类型。局部变量表中还要对数据类型进行声明。数据类型可以是:能流、    布尔型、字节型、字型、双字型、整数型、双整型和实型。    ·能流:仅允许对位输入操作,是位逻辑运算的结果。在局部变量表中布尔能    流输出处于所有类型的最前面。    ·布尔型:布尔型用于单独的位输入和输出。    ·字节、字和双字型:这3种类型分别声明一个1字节、2字节和4字节的无符    号输入或输出参数。    ·整数、双整数型:这2种类型分别声明一个2字节或4字节的有符号输入或    输出参数。    ·实型:该类型声明一个IEEE标准的32位浮点参数。    (2)参数子程序调用的规则。    常数参数必须声明数据类型。例如:如果缺少常数参数的这一描述,常数可能会被当作不同类型使用。    输入或输出参数没有自动数据类型转换功能。例如:局部变量表中声明一个参数为实型,而在调用时使用一个双字,则子程序中的值就是双字。    参数在调用时必须按照一定的顺序排列,显示输入参数,然后是输入/输出参数,最后是输出参数。    (3)局部变量表的使用。按照子程序指令的调用顺序,将参数值分配到局部变量存储器,起始地址是L0.0。使用编程软件时,地址分配是自动的。    在语句表中,带参数的子程序调用指令格式为:CALL nININ_OUT),OUT(IN_OUT)    其中:n为子程序号,IN为传递到子程序中的参数,IN_ OUT为传递到子程序的参数、子程序的结果值返回到的位置,OUT为子程序结果返回到指定的参数位置。    影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0008(子程序嵌套超界)。    带参数调用的子程序的使用说明实例见表5-9。在梯形图中,功能框左侧的I0.2I0.3VW1000VW1002是其位置的参数传递到子程序,右侧的Q0.0Q0.5为子程序结果返回到的位置。    5-9    带参数调用的子程序的使用说明
带参数调用的子程序的使用说明