回复:应用探讨—PCS7中电机和阀门控制应用交流

剑忠

  • 帖子

    622
  • 精华

    57
  • 被关注

    89

论坛等级:奇侠

注册时间:2009-04-14

普通 普通 如何晋级?

发布于 2010-03-12 12:33:34

37楼

quote:以下是引用呆板吧在2010-03-12 09:34:28的发言:
假如所做的行业固定,控制要求固定,要求控制的设备多且一致,个人认为最好的方式是做自定义开发。
其一是省PLC的内存空间。一个四五百点的系统,如果使用414-4-2H冗余PLC,如果必须SFC统一控制电机和阀门,不小心甲方再要求做几个通讯任务,一般CPU的内存就不太够了。如果使用自定义开发做,则占用内存小。
其二功能操作上贴近工艺要求。
其三是可以做有公司特色的东西

一、关于PCS 7系统功能块库(Block Library)提供的标准功能块,应该来说:基本上可以满足用户需求。但由于它是通用的标准功能块,所以一些用户的特殊功能要求没有,而无用的功能不仅闲置浪费,而且极大的消耗CPU的存储空间,无谓的占用WinCC的I/O过程通讯变量(Process Tag即WinCC RT/RC授权)、过程值归档(Tag Logging)、报警归档(Alarm Logging)等授权点数(License Key)。
电机(MOTOR)和阀门(VALVE)功能块只是PCS 7系统功能块库(Block Library)的一小部分了,其对比和分析可想详见我以上的发帖,现就其它几个常见的PCS 7系统提供的通用功能块与自定义功能块,对比分析如下,供大家探讨:
1、以开关量DI报警功能块DIGMON(FB62:Monitor a binary measuring point)为例。每个DIGMON(FB62)功能块占用WinCC RT/RC授权数量达13;因此,开关量DI数量很多时,单独使用DI报警功能块DIGMON(FB62)时的WinCC RT/RC授权占用数量惊人,是很不值得推荐的。所以,我通常是将DI报警功能集成于控制对象的功能块中完成,这才是性价比最高的方法。
2、以模拟量AI报警功能块MEAS_MON(FB65:Meas.value monitoring block)为例。每个MEAS_MON(FB65)功能块占用WinCC RT/RC授权数量达22;而我自定义开发的开关量报警功能块ALARM_A(FB27)就只有CSF、U、QH_ALM、QL_ALM共占用4点。如果模拟量AI报警点很多时,其节约的WinCC RT/RC授权数量则相当可观。
3、以CTRL_PID(FB61:PID Control)为例。说起PCS 7的CTRL_PID功能块,真是叫我既爱又恨。该功能块无论是在AS侧和OS侧的表现,均可谓功能强大,而叫人垂涎欲滴,但却极尽豪华!我有一个25回路的PID调节项目,就耗尽了1/4还多的CPU存储空间和WinCC RT/RC授权点资源,真有些“鸡肋”的感觉。于是,不得以而放弃,转而自定义开发了。
PCS 7系统的每个CTRL_PID(FB61)功能块占用WinCC RT/RC授权数量更是高达66;而我自定义开发的PID_CTRL(FB60)增量型(差分)算法功能块仅保留CSF、LMN_SEL、AUT_ON_OP、SP_MODE、SP_OP、MAN_OP、QPVH_ALM、QPVL_ALM、QER_ALM、LMN、PV、SP这12个点。因此,当PID回路数量较多时,其节约的WinCC RT/RC授权数量可见而知!
二、PCS 7系统提供的标准功能块库(Block Library)不仅占用WinCC RT/RC授权(License Key)点数多,而且对CPU的存储空间资源占用也相当可观。
1、以DIGMON(FB62)功能块为例。Size=1.692KByte,Instance DB=482Byte;
2、以MEAS_MON(FB65)功能块为例。Size=1.486KByte,Instance DB=376Byte;而自定义ALARM_A(FB27)功能块,虽Size=2.68KByte,但Instance DB=102Byte;
3、以CTRL_PID(FB61)功能块为例。Size=6.502KByte,Instance DB=604Byte;而自定义开发的PID_CTRL(FB60)增量型(差分)算法功能块,不仅Size=5.304KByte,而且Instance DB=262Byte。当PID回路数量较多时,其节约的存储空间资源是可见而知的!
4、到此,大家会问:存储空间资源占用差别为何如此之大呢!这主要自定义开发的功能块是按项目需求定制的,去掉了PCS 7系统通用标准功能块库(Block Library)中无用的部份。特别是PCS 7系统的通用标准功能块的报警功能(ALARM)是存储空间资源消耗大户。
PCS 7系统功能块报警功能(ALARM)是调用系统功能块SFB35(ALARM_8P),即:Generate Block-Related Messages with Values for 8 Signals。由于SFB35(ALARM_8P)功能块的SD_1~SD_10端口引脚,共10个,采用ANY数据类型,用于报警消息(Alarm Message)使用的结合值(Associated Value或Auxiliary Value)。而每个SD_x端口引脚的ANY数据类型却要占用10Byte存储空间。
而自定义开发的功能块则是调用系统功能块SFB34(ALARM_8),即:Generate Block-Related Messages without Values for 8 Signals。它省去了用于报警消息(Alarm Message)使用的结合值(Associated Value或Auxiliary Value)功能,从而为每个调用自定义功能块时,生成的Instance(背景)DB块节省下10Byte存储空间。
三、由以上对比分析可看出,PCS 7系统提供的标准功能块库(Block Library)是通用而不是专用的,所以资源占用量较大,适用于规模小、数量少的控制对象解决方案。
而对于规模大、数量多的控制对象用户,开发自定义功能块,无疑从组态时间效率和性价比而言,都是最高、最好的优选方案。但是,这对项目初期的规划设计和开发时间均较长,对开发人员技术和经验要求也较高了!
管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
大学之道,在明明德,在亲民,在止于至善。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

DCS/SIMATIC PCS7

共有4414条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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