您现在的位置是:首页 > PLC技术 > PLC技术
施耐德Unity Pro功能块类型(FFB)的结构
来源:艾特贸易2017-06-05
简介(1) 功能块类型 (FFB) 的组成内容 每个功能块类型 ( FFB) 都是由 FFB 名称、操作数、功能块实例名称构成,而操作数由形参(形式参数, Formal Parameter )和实参(实际参数, Actual Parameter
(1)功能块类型(FFB)的组成内容 每个功能块类型( FFB)都是由FFB名称、操作数、功能块实例名称构成,而操作数由形参(形式参数,Formal Parameter)和实参(实际参数,Actual Parameter)构成,如图3-84所示。
图3-84 FFB结构示意图 例如,在ST编程语言中正式调用功能块如图3-85所示。
图3-85 在编程语言中调用功能块 在功能块类型( FFB)的结构中,FFB名称用于确定FFB执行的内容,例如,转换操作、移位寄存器等。操作数用于指定与操作一起执行的数据内容。操作数由形式参数和实际参数构成。 在结构化编程时,为了使得功能块能够成为可以在同一PLC循环内多次调用的通用功能块,功能块中所使用的数据不可以使用绝对地址,而只能以符号地址的形式出现。在调用通用功能块时,可以通过这些符号地址的不同赋值,在每一次调用同一功能块时,得到不同的结果。 参数是在PLC中的功能块类型之间相互传递的数据。参数通常分为“形式参数”和“实际参数”两类。需要通过输入和输出将值传输给FFB或从FFB传输值,即被调用的功能块中所使用的符号称为形参(Formal Parameter,形式参数)。将对象连接到形参,这些对象包含当前的过程状态,即在调用块中对符号所赋予的实际地址称为实参( Actual Parameter,实际参数)。参数类型是为在功能块之间传递参数的形参而定义的数据类型。 在程序运行时,来自过程的值通过实际参数传递给FFB,经过FFB处理后,再次输出。实参的数据类型必须与形参的数据类型匹配。 (2) VAR_IN_OUT变量 FFB常用于从输入变量处读取数据,然后处理该变量,并且输出同一变量更改后的值,这种特殊类型的输入/输出变量称为VAR_IN_OUT变量。 在FBD和LD中,输入和输出变量通过一根连线连接在一起,如图3-86所示。
图3-86 含VAR_IN_OUT变量的功能块 在使用包含VAR_IN_OUT变量的FFB时,必须注意下列问题: ●必须为所有VAR_IN_OUT分配输入变量; ●不能将数值或常量赋值给VAR_IN_OUT的输入或输出。 在FBD和LD中,必须注意下列问题: ●在使用图形连接时,VAR_IN_OUT变量必须与VAR_IN_OUT变量连接; ●VAR_IN_OUT变量的输入/输出只能与一个图形相连接。 ●VAR_IN_OUT变量的输入和VAR_IN_OUT变量的输出可以与不同的变量相连接。此 时,输入的变量其实是被赋值到输出的变量; ●取反操作不能用于VAR_IN_OUT变量; ●VAR_IN_OUT变量的输出不能使用变量/地址与图形相连接的形式。 (3) EN和ENO 所有的FFB都可以配置EN输入和ENO输出。如果调用FFB时,EN端设置的数值为“0”,将不执行FFB定义算法,并将ENO端设置为“0”。如果调用FFB时,EN端设置的数值为“1”,将执行FFB定义算法,如果算法执行通过,则将ENO端设置为“1”。如果算法执行没有通过,则将ENO端设置为“0”。所有的FFB都可以“无条件”或“有条件”调用。其条件通过预先连接EN端来实现: ●EN端已连接,表示有条件调用,仅当EN端为“1”时,才处理FFB; ●EN端已显示、隐藏并标记为TRUE,或已显示但没有占用,表示无条件调用,一直执行FFB。 对于正式的FFB调用,EN和ENO只能用在文本语言中,例如:
为ENO分配变量时必须使用操作符“=>”。