西门子S7-300形参与实参

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于形参与实参
什么叫实参什么叫形参
作者 主题
liulm
新手

经验值: 50
发帖数: 11
精华帖: 0
主题:什么叫实参什么叫形参
2010-11-04 18:30:36 楼主
我在学功能和功能块的参数赋值时对形参和实参的概念很是模糊,有谁能结合实例和我讲讲吗?万分感谢!

chen11201
侠士

经验值: 1822
发帖数: 624
精华帖: 3
主题:回复:什么叫实参什么叫形参
2010-11-04 19:31:01 1楼
形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传如的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.

天兰兰
游士

经验值: 191
发帖数: 61
精华帖: 1
主题:回复:什么叫实参什么叫形参
2010-11-04 20:12:23 2楼
形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。

1.形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。

2.实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

3.实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。

4.函数调用中发生的数据传送是单向的。 即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

斑竹补充:
1,上述解释来自计算机高级语言的定义。针对S7 PLC有如下不同。
2,S7函数用STL、LAD、FBD编程的实参不能是表达式。
3,S7函数的实参和形参数据类型不同时,STEP7编译发现不了问题(即没有语法错,系统认为没问题),但运算结果会错,表现为控制逻辑不对,按程序逻辑查错误很难排除。
4,第4点所说,在C等高级语言里数据是从实参->形参的单向传递,但在S7 PLC里当形参是IN-OUT类型时,可以双向传递。也就是说S7程序函数的IN-OUT类型形参在调用时首先从实参取得数据,在函数运算执行退出时再将数据回传给实参。


夜来香
侠士

经验值: 1069
发帖数: 983
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-04 20:18:16 3楼

quote:以下是引用liulm在2010-11-04 18:30:36的发言:
我在学功能和功能块的参数赋值时对形参和实参的概念很是模糊,有谁能结合实例和我讲讲吗?万分感谢!


建议你再看看PLC的数据类型这一章吧。
简单来说:
形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。
实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

我爱自动化
will666
侠士

经验值: 1389
发帖数: 926
精华帖: 5
主题:回复:什么叫实参什么叫形参
2010-11-04 21:16:34 4楼
比如你编写了一个块,有两个输入a,b,一个输出c,然后程序里面做加法c=a+b。这个abc就是形参,没有调用之前他们是不存在的。然后你调用这个快,在输入引脚使用了A,B,输出引脚使用了C,那么ABC就是实参,他们是实实在在有值的。
新手,请多关照!
你以为你是谁
游侠

经验值: 313
发帖数: 223
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-04 22:08:41 5楼
实参,就是实际变量,直接对应PLC 的存储区,比如数据块。形参,只是代码,可以被其他块调用,由其他块赋予一定的实参,形参可以被其它块多次调用。
别人在休息的时候,我往前走。
冬日
侠圣

经验值: 3435
发帖数: 2390
精华帖: 23
主题:回复:什么叫实参什么叫形参
2010-11-05 01:26:09 6楼
quote:以下是引用will666在2010-11-04 21:16:34的发言:
比如你编写了一个块,有两个输入a,b,一个输出c,然后程序里面做加法c=a+b。这个abc就是形参,没有调用之前他们是不存在的。然后你调用这个快,在输入引脚使用了A,B,输出引脚使用了C,那么ABC就是实参,他们是实实在在有值的。
--------------------------------------------------------------------------------


这个比喻生动!
If anything can go wrong, it will.
wsj180


经验值: 300
发帖数: 134
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-05 10:13:07 8楼
quote:以下是引用will666在2010-11-04 21:16:34的发言:
比如你编写了一个块,有两个输入a,b,一个输出c,然后程序里面做加法c=a+b。这个abc就是形参,没有调用之前他们是不存在的。然后你调用这个快,在输入引脚使用了A,B,输出引脚使用了C,那么ABC就是实参,他们是实实在在有值的。


我觉得这个比较生动理解了

liulm
新手

经验值: 50
发帖数: 11
精华帖: 0

主题:回复:什么叫实参什么叫形参
2010-11-05 17:03:24 9楼
综合各位高手的解释,很是受用,谢谢了

liulm
新手

经验值: 50
发帖数: 11
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-05 17:11:38 10楼
可不可以这样理解,形参是碗,实参是碗里的饭呀

maomaowenjuan
游侠

经验值: 599
发帖数: 360
精华帖: 1
主题:回复:什么叫实参什么叫形参
2010-11-05 22:03:44 11楼
实参是给参数赋予了实际意义,通过块调用后叫实参
学如逆水行舟不进则退
JohnThink
游士

经验值: 156
发帖数: 7
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-15 08:39:04 12楼
这有点像代数,a,b,c,是符号,让他等于某个值,比如a=8,这个8是实。

HUANGZE75
奇侠

经验值: 5532
发帖数: 4450
精华帖: 17
主题:回复:什么叫实参什么叫形参
2010-11-15 12:48:36 13楼
实参就像是做公交车的人,形参就是座位,谁都可以做车里的座位,所以实参可以是小明,小海,小李。

阿鸣
奇侠

经验值: 5340
发帖数: 3984
精华帖: 18
主题:回复:什么叫实参什么叫形参
2010-11-15 13:57:45 14楼
举例说明:
例:
3X + 2Y =5Z
当X=48,Y=22,求Z?
其中X,Y,Z就是形参。48,22就是实参。
一日三省吾身
工控猪
侠圣

经验值: 2020
发帖数: 1029
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-15 14:02:48 15楼
实参,就是实际变量,直接对应PLC 的存储区,比如数据块。形参,只是代码,可以被其他块调用,由其他块赋予一定的实参,形参可以被其它块多次调用。
智慧人生 品味舍得
jiachong
游民

经验值: 113
发帖数: 42
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-19 16:46:01 16楼
我觉得可以这样理解,实掺就是人民币,形掺就是支票 一个可以直接用,一个不可以直接用 (个人理解,如有不妥,请给予意见)

Lyn
侠士

经验值: 1408
发帖数: 784
精华帖: 2
主题:回复:什么叫实参什么叫形参
2010-11-19 18:00:44 17楼
之前对两个词还有一定的困惑,现在也明白了

light
游侠

经验值: 509
发帖数: 122
精华帖: 6
主题:回复:什么叫实参什么叫形参
2010-11-20 08:42:09 18楼
quote:形参就像是没结婚的大姑娘指不定是谁媳妇,实参就是谁娶了她她就是谁媳妇,如果离了婚那么别人还可以再娶她,呵呵。

这个比喻有点问题,块可以被多次调用,那不犯了重婚罪了?
追求完美
工控猪
侠圣

经验值: 2020
发帖数: 1029
精华帖: 0
主题:回复:什么叫实参什么叫形参
2010-11-20 09:45:58 19楼
quote:以下是引用will666在2010-11-04 21:16:34的发言:
比如你编写了一个块,有两个输入a,b,一个输出c,

然后程序里面做加法c=a+b。这个abc就是形参,没有调用之前他们是不存在的。然后你调用这个快,在输入引脚使用了A,B,输出引脚使用了C,那么ABC就是实参,他们是实实在在有值的。

比喻的太形象了,很生动!建议加精!
智慧人生 品味舍得
300小小生
侠客

经验值: 831
发帖数: 626
精华帖: 1
主题:回复:什么叫实参什么叫形参
2010-11-20 14:18:17 21楼
呵呵,论坛里的高手就是多,可以把书本里的知识点比喻的这么生动。结合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也是实参。建议楼主可以找个实例程序看看就很明白了
学无止境




相关文档
最新文档