技术论坛

应用探讨——CFC编程应用探讨—发帖整理

作者 主题
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
主题:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 2011-09-16 10:45:32
CFC(连续功能图)是PCS7下的一种方便、简洁的编程环境,通过功能块互连的方式,既可以轻松自动实现跨AS的数据交换,也可以避免对诸如M、L等系统资源的管理,编程不再是一个面向繁琐数据存储单元的乏味劳动,而是将主要精力集中面向控制技术层面的全新工作。
和传统的STL、LAD等编程语言相比,CFC编程存在诸多的不同,所以在使用CFC的过程中,一方面可以积攒很多小技巧、小心得,另一方面也会碰到各种各样的问题,诸如:
? 逻辑没有问题,为何运算结果不正确
? 编译的时候总是出现很多的Warning,会影响程序执行吗
? CFC中功能块的消息组态,很多的$$是起什么作用的
? CFC中功能块的高亮区都包含哪些信息,如何修改
? “过程模式”和“实验室模式”有什么区别
? 下载CFC的时候为什么会出现不同的方式选择,都有什么区别
? ……
为此,我们专门开设这个集中交流的平台,大家可以就自己工程实施过程中碰到的CFC相关的的编程组态、编译下载中的问题、心得、技巧等,畅所欲言,分享切磋。正在使用或准备使用CFC进行程序编写的用户,也可以就自己的需求和大家来探讨,在扩展思路的同时,相信也会有意想不到的收获。

CFC在实际工程中正在被越来越广泛地应用,作为PCS7中的主要编程方式,其简洁、直观的界面,使项目工程师脱开具体功能实现细节的束缚,直接面向工艺需求,提高了组态效率。“Test Mode”下的功能块监控、管脚的趋势显示等都给现场调试带来很大的方便。运行组的统一管理和优化更是让程序结构管理更为灵活……
大家就CFC的优越性、使用和相关功能特性在论坛上展开了热烈的讨论,既有使用经验的积极分享,也有初学者的基本知识问答。通过这些讨论,凸显了CFC的功能特性,也解释了CFC使用过程中大家遇到的疑惑。了解了这些知识、特性和使用心得,才能在实际的编程组态过程中灵活把握,简化编程组态。

编号F0580:PCS 7中CFC编程常见问题集
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0580

编号A0252:S7-CFC编程
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0252

以下为本次探讨的发帖整理,查看原始交流内容请点击此处
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=6&a_id=904495&s_id=0&pno=1

总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 1楼 2011-09-16 10:46:17
quote:以下是引用177-13在2011-08-16 17:28:48的发言:
抢到沙发了!
CFC编程的确和STL、梯形图很不一样。关键是CFC的功能块不如STL下那么直观。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 2楼 2011-09-16 10:46:36
quote:以下是引用凌波微步在2011-08-16 19:30:02的发言:
CFC不如STL直观?这个看法我有所不同的想法!
1.所谓会者不难,也许你是用STL用的比较熟悉吧。
2.CFC图表化的编程方式,更加直观。例如一个VALVE功能块。对于开反馈,关反馈,开命令,关命令,故障信号,远程、就地信号,手动,自动信号;安全位置,连锁开,连锁关,连锁安全位置,反馈与命令不一致报故障,自动开关,手动开关,故障复位,阀门开关时间监视,报警信息上传,归档上传,单位等等功能都可以通过一个功能块实现。如果使用STL,你要编多少语句?你写的程序有多少人能看懂?
3.CFC的连线式编程方式也是STL所不能及的。
4.我想177-13凶习惯了STL得编程方式了。好有一比,STL像汇编是低级,CFC是高级语言;现在还有多少用汇编写程序的程序员?
5.如果有个上千点,甚至上万点的控制系统,用STL写方便?还是CFC写方便?程序写完后,那种方式更直观呢?
6.当然STL有它本身的优势和特点,但CFC更面向用户。维护,修改起来都很方便。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 3楼 2011-09-16 10:47:01
quote:以下是引用凌波微步在2011-08-17 14:58:09的发言:
1.做项目就像做人,目光不能光放在眼前的这点利益。
2.做项目的最终目的是控制的结果与将来的维护,升级等
3.做项目也好比你SHOPPING,性价比比较重要,不一定那个要买最贵的,也不一定要买最便宜的。好的性价比才是我们大多数人选择的方向。
4.CFC仅是PCS7中的一个功能。其实现的方法,方案也在与开发者的灵活运用。
5.至于编译,我想任何语言都需要的。编译的功能是检查基本语法错误的一个标准方法。CFC的编译不仅仅是检查语法错误,还会做很多的功能。例如诊断信息的生成,系统文件的生成,OB的生成等等。因此CFC的编译虽然时间稍微长了一些,但其功能是全面的,不是片面的。
6.STL是种好语言,也是我们应该学会的。但各种语言的灵活运用才是王道。
7.STL编写自定义功能块,然后在CFC中运用是一种非常好的方法。
8.其实STL语言是面向更多熟悉代码语言的人群。LAD面向的是更多电气出身的人群,而CFC面向的是全部的人群,是一看就明白的一种直观性的语言。
9.CFC中的很多功能是一种优化,并不是无用的。例如运行组等。
10.其实我也是从PLC学起的。但是用CFC后,就真切的发现其可用性的强大。
11.CFC其实是从传统的DCS理念中应运而生的一个编程语言。很多传统的DCS的编程方式都是图表化的。
12.CFC不但可以作为编程界面,而且也可以利用CFC来编写FC,FB等功能块。
13.我觉得CFC的最大的亮点就是连线方式。不用像STL,LAD编写一个简单的数学逻辑需要很多的中间变量。

------说了很多了。对于各种语言的使用其实我是这样认为的:不论何种语言都有其存在的必然性。都有其优劣特性。我们需要的是更深的了解其理念和使用方式。灵活使用,结合使用才是我们写好一个程序,做好一个项目的根本。
------对于授权,价格问题,还是因项目成本而异吧。这个在很多时候是决定使用哪种语言的关键。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 4楼 2011-09-16 10:47:14
quote:以下是引用凌波微步在2011-08-18 22:51:02的发言:
1.PCS7的CFC编程把编程的重心转移到如何优化编程,优化控制方案上来!就像LZ所说“编程不再是一个面向繁琐数据存储单元的乏味劳动,而是将主要精力集中面向控制技术层面的全新工作。”这才是本质。
2.所以更多的保护性还是在功能块本身。自定义功能块本身也是和PLC的STL,LAD,FBD等编程方式一样可以做到有效的保护。
3.希望大家跟着LZ的思路,谈一谈CFC中的使用技巧及特殊标示的意义。
4.等忙过这段时间,我总结一下我使用CFC的技巧和经验,和大家分享。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 5楼 2011-09-16 10:47:27
quote:以下是引用药尘在2011-08-19 20:05:23的发言:
用PCS7编程比较简单,但是需要明白CFC的库文件,毕竟CFC不是自己编写的块,第二个需要强调的一点,请不要把PCS7和STEP7孤立开来,PCS7所有的程序全部都是以STEP7为基础的,请抓住最基础的,还有CFC是使用SCL为编程语言的,但是不代表LAD FBD STL就不能用了,CFC仅仅是一个FB,它无论用何种语言编程皆可,我看到有很多工程师为了学习写CFC块还学习SCL,精神委实可嘉,可以多学一种高级语言,但是我写过的很多CFC块仍然用LAD一样是可以实现的。第三,请区分TIA和PCS7,这个有极大的联系,但是又有很大的区别,在西门子的论坛里有这方面的知识,可以参考一下。
CFC跟我们以前的那种线性编程不同,它是一种简易的图表化线性编程,而在STEP7中还是属于一种模块化线性编程,这个需要区分清楚。
希望大家以后在学习PCS7里的CFC编程的时候,将其简单化,不要复杂化,有很多在STEP7中能使用的方法,在PCS7中一样可以使用。学习CFC和PCS7抓住基础才是真正的重点,这个基础就是STEP7。如果抓住了这个重点,相信大家肯定在这方面会进步的很快的。

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 6楼 2011-09-16 10:47:39
quote:以下是引用地方在2011-08-19 20:43:32的发言:
本人想提一个问题:如何在300PLC上应用CFC?

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 7楼 2011-09-16 10:47:52
quote:以下是引用www123456在2011-08-19 21:13:24的发言:
quote:以下是引用地方在2011-08-19 20:43:32的发言:
本人想提一个问题:如何在300PLC上应用CFC?


作为STEP7的选项包,S7-CFC软件安装后,将被集成在STEP7中使用。S7-CFC界面为图形界面,其基本元素为Chart,可以在SIMATIC Manger或CFC编辑器中生成Chart.
具体使用参见上面的手册《S7-CFC编程》

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 8楼 2011-09-16 10:48:03
quote:以下是引用划痕在2011-08-20 09:35:18的发言:
CFC,面向用户的编程方式,适应的群体更多……通过连线和参数属性的修改,很容易满足控制要求和实现自底而上的系统设计方案。
灵活、不孤立地使用CFC,可以提高控制系统质量。比如可维护性、产权保护等。
感受最深的就是使用Chart-in-Chart的功能块开发——逻辑清晰、开发效率高

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 9楼 2011-09-16 10:48:16
quote:以下是引用TJJTDS在2011-08-21 16:09:22的发言:
记得之前用CFC的时候, 有一个概念叫"池DB",
这是个什么东西啊, 起到什么作用呢?

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 10楼 2011-09-16 10:48:31
quote:以下是引用177-13在2011-08-29 16:18:05的发言:
quote:以下是引用TJJTDS在2011-08-21 16:09:22的发言:
记得之前用CFC的时候, 有一个概念叫"e;池DB"e;,
这是个什么东西啊, 起到什么作用呢?

池DB的英文名称是Pool DB,要解释它的作用,只要想想FC在CFC调用时其管脚为何可以监控有数值就清楚了。
FC的管脚即使没有连接到其他地址、功能块,其都是可以监控的。原因就在于这些没有使用的管脚会赋值到Pool DB,我们所监控到的,其实就是Pool DB中的值。


 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 11楼 2011-09-16 10:48:44
quote:以下是引用jacky_andy在2011-08-26 11:53:16的发言:
前一段时间要用到FM458,好像用FM458必须的用CFC,
在什么场合下,必须得用CFC
CFC对PLC有具体要求吗?一般315以上的PLC才能用吗
忙过这阵,好好学习一下
CFC和LAD STL scl 都可以混合编程吧?

 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 12楼 2011-09-16 10:48:57
quote:以下是引用www123456在2011-08-27 08:21:23的发言:
quote:以下是引用jacky_andy在2011-08-2611:53:16的发言:
前一段时间要用到FM458,好像用FM458必须的用CFC,
在什么场合下,必须得用CFC
CFC对PLC有具体要求吗?一般315以上的PLC才能用吗
忙过这阵,好好学习一下
CFC和LADSTLscl都可以混合编程吧?

一般认为PCS7项目、高动态的复杂运动控制、带有多个PID等过程控制、现场有大量信号等较大系统工程场合最好用CFC方式编程。它通过绘图功能图表自动生成程序、简单的连线,能使编程者控制思路更清晰,减少出错,所以优势就明显了。
硬件平台上一般适用于SIMATICS7-300(推荐用于CPU314以上CPU),S7-400,C7、WinAC,比如400+FM458-1DP等。另外,它优化集成在STEP7中,与STEP7兼容,所以项目中也可以实现混合编程。


 
以下网友喜欢您的帖子:

  
总坛主
西门子官方工程师

经验值: 23053
发帖数: 3756
精华帖: 8
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 楼主 13楼 2011-09-16 10:54:55
quote:以下是引用177-13在2011-09-01 10:31:43的发言:
quote:以下是引用jacky_andy在2011-08-26 11:53:16的发言:
前一段时间要用到FM458,好像用FM458必须的用CFC,
在什么场合下,必须得用CFC
CFC对PLC有具体要求吗?一般315以上的PLC才能用吗
忙过这阵,好好学习一下
CFC和LAD STL scl 都可以混合编程吧?

CFC的使用对PLC倒没什么要求,但需要留意CFC程序相对于STL/LAD等而言内存效率偏低一些,如果程序量较大,则需要仔细考量了。
CFC和其他编程语言可以混合编程,但CFC需要作为“主”语言,而且其他语言创建的功能块等要遵循CFC中的块号要求。推荐的做法是用其他语言编写功能块,然后在CFC中调用。

 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2112
发帖数: 402
精华帖: 0
回复:应用探讨——CFC编程应用探讨—发帖整理


只看楼主 14楼 2011-09-26 13:18:35
CFC连续功能图,是PCS7标准的编程方式。可以快速的构建大项目,它把许多技术细节隐藏起来,使用户只关心工艺对编程要求不算太高!
但是想学好PCS7可不是一天两天的事。PCS7功能很强大,CFC很给力!
为了新生活前进!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
应用探讨——CFC编程应用探讨—发帖整理

现赠您1张1847体验会员卡,可免费领取,畅学1847会员内容,是否领取?

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。