您现在的位置是:首页 > PLC技术 > PLC技术
调用SCL块中具有自己数据块的功能块
来源:艾特贸易2017-06-05
简介当调用功能块时,实例数据块是指定的,假设它还不存在,则它既可以编程在程序源文件中(紧跟在功能块后且在其调用之前),也可以是在调用中检测之后 SCL 产生数据块。在 SCL 中,
当调用功能块时,实例数据块是指定的,假设它还不存在,则它既可以编程在程序源文件中(紧跟在功能块后且在其调用之前),也可以是在调用中检测之后SCL产生数据块。在SCL中,不用源文件,实例数据块也可以递增式地编程。
任何自由数据块都可以作为实例数据块使用,符号名称在允许的范围内可以自由选择。
DATA_BLOCK DB2 91
FB291
BEGIN
END_DATA_BIJOCK
用实例数据块调用:
FB291.DB2 91(IN:=InputValue);
Result := DB291.OUT;
调用在功能块的声明下面紧跟实例数据块,用冒号分开,参数表在括号里的,地址(名称)可以规定为绝对地址或符号地址。
功能块参数的初始化是自由的,因为复杂数据类型的输入,输出参数是作为指针存储的。在第一次调用功能块时,应该初始化,因此要输入一个有意义的值。如果块参数没有初始化,它就保持上次设置的值。即使没有参数初始化,圆括号也必须要写。
所有的参数通过实例数据块和参数名称的声明,可以作为全局数据地址进行寻址。在举例中,极限数值设定为常量,它们的初始化要先于功能块调用:
DB2 91.MAX := Maximum;
DB2 91.MIN := Minimum;
在块调用时,输出参数不能初始化。如果需要的话,它们的数值可直接从实例数据块中读取,并且在没有中间存储的情况下进一步处理:
IF DB2 91.OUT>10_000THEN...END_IF;
点击排行
