PLC编程中形参与实参的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC编程中形参与实参的区别
结合STEP7里具体点说可以是,假如我们有1个功能块FB1,功能FC1,几个FB1的背景数据块。在FB1里写公式a+b+c,这里a,b,c就是形参。而在FC1里我们定义在I0.0=1时调用FB1,并令a=1,b=2,c=3.此时1,2,3就是实参。而定在I0.1=1时调用FB1,令a=10,b=20,c=30,此时10,20,30也是实参。
举例说明:
例:
3X + 2Y =5Z
当X=48,Y=22,求Z?
其中X,Y,Z就是形参。48,22就是实参。
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
形参:形式上的参数,没有具体值。你在写一个方法的时候当然不知道具体值
而实参:是你调用方法时给的参数,给的是和所调用方法所匹配的具体值。
数值传递的时候,实参是不变的,形参是随着计算而变化的。
指针/引用传递的时候,行参怎么变~实参就怎么变。
实参就是送进去的东西,行参就是把送进来的东西进行加工。加工完后就返回一个东西:返回值.
编程简单理解为“形参”与“实参”的相互作业,体现在具体编程中就是:在程序FB/FC中全部使用“形参”,这里的”形参“你可以随便定义,你主要知道它的意思就可以;在程序编好以后就回到主程序OB1,把你编好的FB/FC拿出来,因为原来FB/FC是一块一块的,所以在OB1中你想拿多少次FB/FC都是没有问题的,当然这个由你的实际需要决定哦,这个时候的FB/FC 就表现形式为一个”功能箱“,就好象在编程时我们要使用的什么计数器/计时器/SR/RS触发器等一样,我们需要的是给这些”功能箱“赋与它生命的”实参“,这个时候”功能箱“才会动起来,至于它怎么动,当然是你自己想的。
理解了”功能箱“FB/FC和OB1的联系与差别,你应该对于所谓的”结构化“有了一定的认识,需要注意一下的是FB是一个完全意义上的”功能箱“,FC是部分意义的”功能箱“,为什么这样说是因为FB和”功能箱“的使用完全相同,具体表现为FB的“形参”不要求全部有“实参”,但是FC“形参”与“实参”必须一一对应。
接下来我们解释一下FC/FB的参数和变量类型有什么区别,FB有静态(STAT)变量类型,静态变量存储在FB的背景DB,当FB这个”功能箱“使用完后那些个存储在静态(STAT)变量类型下的数据依然有效;FC有一个返回值变量(RET-VAL)用于返回调用的结果,但是使用OUT/IN-OUT类型的参数可以输出多个变量,比RET-VAL有更大的灵活度,所以很少使用这个RET-VAL,但是FB中间没有STA T是不可以想象的。
几点说明:1:“形参”即局部变量,“实参”即全局变量,“形参”在程序块的变量声明区中定义,“实参”则要在符号表中定义;
2:在编程前先要发一些时间规划好要用到的“实参”;
3:要知道编程有LAD/STL/FBD三种,但是不是所有的STL都可以转换为LAD/FBD;
4:对于在FB中定义好的“形参”,在创建对应的DB时会自动加载已经定义好的“形参”,但是需要注意的是要对FB的静态(STAT)变量类型的具体参数值定义;
5:在编程时要学会使用SHIFT这些组合键;
6:对于任何一个编程工作者多不可能记忆全部的指令/系统功能/功能块,在使用时要学习使用F1帮助