电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

形式参数有几种类型?

2016-12-14 22:54分类:PLC编程入门 阅读:

 

    对于可传递参数的块,在编写程序之前,必须在变量声明表中定义形式参数。表7-1列举了三种类型的参数及定义方法。注意,当需对某个参数进行渎、写访问时,必须将它定义为IN/()UT型参数。
    在声明表中,每一种参数只占一行。如果需要定义多个参数,可以用Enter键来增加新的参数定义;也可以选中一个定义行后,通过执行菜单命令“插入”一“声明行”来插入新的参数定义行。当块已被调用后,如果冉插入或删除定义行,则必须重新编写调用指令。
    现在重新编写前述电动机的控制电路程序。新建块FC3,定义形式参数见表7 2。
    使用形式参数编写FC3程序,如图7 5所示,单击按钮,弹出如图7-6所示对话框,提示程序接口已改变,调用时需要注意。
    注意:
    (1)在编程一个块的使用符号名时,编辑器将在该块的变量声明表中查找该符号名。如果该符号名存在,编辑器将把它当作局部变量,并在符号名前加“#”号。
    (2)如果该符号名不属于局部变量,则编辑器将在全局行号表中搜索。如果找到该符号名,编辑器将把它当作全局变量,并在符号名上加引号。
    (3)如果在全局变量表和变量声明表中使用了相同的符号名,编辑器将始终把它当作局部变量。然而,如果输入该符号名时加了引号,则可成为全局变量。
    在OBI中调用FC3,输入实际参数,如图7-7所示。可以看出,此时FC3有两个输入参数和一个输出参数,分别输入相应的实际地址,实现的功能与前述例子相同,但是此时只编写了一个块FC3。

    例3  丁.业生产中,经常需要对采集的模拟量进行滤波处理。本例通过将采集的最近的三个采样值求和后除以3的方式来进行软件滤波。假设模拟量输入处理后的工程量存储在MD44中,为浮点数数据类型。
    编程思路:将采集的最近的三个数值保存在j个全局地址区域,在每个扫周期进行更新以确保是最新的三个数,将三个数相加后求平均值即可。
    首先定义FCI的形式参数见表7 3。
    注意:定义的形式参数中,三个采集值EarlyVast、I_astValue和I。atcst Val-ue的参数类型为IN/()UT型,不能为TEMP型,否则将无法保存该数值。
    在FCI中编写程序,如图7-8 (a)所示。“程序段1”的含义是根据循环扫描T作方式从左到有的顺序将三个最近时间的采集值保存,注意三个MOVE.指令的次序不能改变;“程序段2”的含义将三个数相加后求平均值。
 图7 8(b)中,调用FCI,并赋值实际参数,求得的平均值存放在MD72中。这样,通过不同的实际参数可以重复调用FCI进行多路滤波。但是,通过此例也可以看出一个问题:我们关心的只是三个数的平均值,而调用FC1子程序时,却需要为三个采集值寻找全局地址进行保存,这样做不但麻烦而且容易造成地址重叠,能不能既不用人为寻找全局地址而又能保存数值呢?通过FB就可以实现。

上一篇: 地址引用工具的功能是什么?

下一篇: 交叉引用表的作用是什么?

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部