发表于:2013/1/10 8:11:02
#0楼
1. FB有背景数据块,FC没有背景数据块。这是最本质的区别。背景数据块是每个被控对象的专用存储区,就好像被控对象在银行的私人保险箱。临时变量是多个FB、FC的被控对象公用的数据区,就好像布告栏,大家都可以往上面贴布告,先贴的布告将被后贴的覆盖。
2. FB和FC的局部数据都有IN、OUT、IN_OUT和TEMP,FC的返回值RET_VAL实际上是输出参数。因此有无静态变量(STAT)是二者的局部变量的本质区别。FC没有静态变量。
3. 功能块的输出参数不仅与来自外部的输入参数有关,还与用静态变量保存的内部状态数据有关。功能因为没有静态变量,相同的输入参数产生的执行结果是相同的。
4. 不能给功能的局部变量设置初始值,可以给功能块的局部变量(不包括TEMP)设置初始值。初始值需要专用的存储区来保持,FC因为没有背景数据块,所以不能设置初始值。
2. FB和FC的局部数据都有IN、OUT、IN_OUT和TEMP,FC的返回值RET_VAL实际上是输出参数。因此有无静态变量(STAT)是二者的局部变量的本质区别。FC没有静态变量。
3. 功能块的输出参数不仅与来自外部的输入参数有关,还与用静态变量保存的内部状态数据有关。功能因为没有静态变量,相同的输入参数产生的执行结果是相同的。
4. 不能给功能的局部变量设置初始值,可以给功能块的局部变量(不包括TEMP)设置初始值。初始值需要专用的存储区来保持,FC因为没有背景数据块,所以不能设置初始值。
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/