①Input:输入参数输入参数是外部提供的,仅供本程序块读取,无法被本程序块修改。这些参数可以是常数 ②Output:输出参数输出参数由本程序块生成,可以被本程序块读写。其他程序可以通过引脚读取这些参数的值,但无法进行修改。这些参数不能是常数 ③IN_OUT:输入/输出参数输入/输出参数既可被本程序块读取,也可被其修改。同时,其他程序可以通过引脚读写这些参数的值。这些参数不能是常数,就是可以作为线圈输出,也可以作为在程序前面作为输入 ④TEMP:临时局部参数临时局部参数是用于暂时存储数据的变量。它们存储在CPU的工作存储区局部数据堆栈中,仅在需要时存在,临时变量 就是相当于只能在程序里面作为中间变量类似M,形成FC块后在外面是不会有temp的接口参数的 ⑤Constant:常量常量是在块中使用的,带有声明符号名的固定值 ⑥Return:返回值返回值是函数执行完毕后返回到调用块的值 FB和FC不同的地方就Static:静态局部参数
Static:静态局部参数静态局部参数在PLC运行期间持续存在并被存储。在S7中,这些变量通常定义在背景数据块中(仅适用于FB,FC和OB无静态变量)。当被调用块运行时,它可以读取或修改静态变量的值;即使被调用块结束执行,静态变量仍保留在数据块中 2、举例说明
①无形式参数的FC
无形式参数就是,即调用程序与FC之间没有数据交换。FC仅执行其内部的程序代码,不涉及与调用程序的数据交互。其实就是每个作为子程序的FC在主程序中只能被调用一次。
②带形式参数的FC
对于需要多次调用的功能,我们通常会制作成带有形式参数的功能块,这样有助于实现结构化的编程;我们先创建FC块,定义好接口变量
在输入添加了三个限位开关,输出添加了三个电磁阀,还有TEMP的a,b,c都是我定义的,注意,a,b,c只能在这个FC块被访问到,因为是局部变量,你可以把他理解为,FC是大哥,a,b,c是大哥招揽的小弟
再次调用到OB1里面,我们再来看一下,调用以后至OB1的结果:
那么道理浅显易见了,其实所谓的形参就是,接口参数,你把FC想象成一个国家,然后你可设置外交官,或者把FC想象成一个工厂,你可以设置工厂的入口,出口,而这些出入口都是你自己设定的,这就是形参!我们可以理解为,形式参数就是接口参数!
看下图就能明显看出带形参不和带形参的区别了
下一章讲解FB的使用