n
1.概述
从V8.0开始PCS 7提供了一种新的概念类型 - 控制模块类型(CMT),在PCS 7 SIMATIC Manager编辑器中进行CFC编程的时候,可以通过使用预先定义好的控制模块类型达到快速、灵活组态的目的。n
作为一种快速编程的方式,与过程标签类型(Process tag type)的使用相比较,通过控制模块类型进行快速编程有以下优点:n
1、从PCS 7 8.0 SP1起,可以通过同步功能实现控制模块类型 (CMT) 到控制模块 (CM) 的改变更新,操作比较简洁。n
2、在控制模块类型 (CMT) 中可以配置可选块,这样就可以通过一个控制模块类型去创建同一类控制模块的不同变形。n
3、在生成的控制模块实例中的自定义修改,做控制模块类型到控制模块的同步过程中不会丢失,保持个体的特性。n
4、此外,控制模块类型或控制模块除了在PCS 7 SIMATIC Manager编辑器中使用之外,还能够与Advanced ES之间进行扩展数据交换,能够更进一步提高整个项目的编程效率。n
有关在Advanced ES中操作控制模块类型的更多信息,请参考以下链接:n
“通过一个实际例子说明如何使用 SIMATIC PCS 7 Advanced ES进行高效的总体工程组态”n |
2.使用控制模块类型(CMT)编程CFC
下图给出了创建新的控制模块类型或通过从过程标签类型移植来创建控制模块类型并生成关联实例(控制模块)的过程。n
图1使用控制模块类型进行CFC编程的过程n
2.1软件环境说明
操作系统:Windows 7 Ultimate SP1(64bit)英文版n
组态应用软件:PCS 7 V8.0 SP2多语言版n
2.2控制模块类型 (CMT)的创建
关于控制模块类型的创建,可以分别通过以下3种方式来实现:n
1、从 SIMATIC Manager 中创建控制模块类型;n
2、从CFC编辑器中创建控制模块类型;n
3、从过程标签类型移植。n
2.2.1从 SIMATIC Manager中创建控制模块类型
具体过程如下:n
1、在项目中打开主数据库;n
2、使用菜单命令“视图”→“工厂视图”(View→ Plant View)切换到工厂视图,控制模块类型要在工厂视图的层级下完成创建;n
3、右键单击文件夹选项选择菜单命令“插入新对象”→“控制模块类型”(Insert New object →Control Module Type),完成控制模块类型的创建。n
图 2从 SIMATIC Manager中创建控制模块类型n
2.2.2从CFC编辑器中创建控制模块类型
从CFC编辑器中创建控制模块类型的具体操作过程如下:n
1、在库的工厂视图中,右键单击以选择菜单“插入新对象→ CFC”(Insert new object → CFC);n
2、使用CFC编辑器打开新建的CFC对象;n
3、在菜单中选择“视图→ 工艺I/O”(View →Technological I/Os),将在CFC编辑器中打开一个新的窗口;此外,如果直接在CFC编辑器的工具栏上点击“工艺I/O”(Technological I/Os)按钮也可以完成同样的操作效果;n
4、通过鼠标右键单击空白窗口打开快捷菜单,在此快捷菜单中选择“插入新对象→ 控制模块”(Insert new object → Control module),此时,即完成从CFC编辑器中创建控制模块类型的操作。n
图3在CFC编辑器中打开工艺I/O窗口n
图4插入控制模块完成控制模块类型的创建n
2.2.3从过程标签类型移植
如果要从过程标签类型移植完成控制模块类型的创建,请参考以下操作步骤:n
1、在主数据库中要存在所期望的过程标签类型(可以自己创建或者从PCS 7库中拷贝过程标签类型到主数据库的层级文件夹下);n
2、在主数据库的工厂视图,右键单击层级文件夹,在选择菜单中选择“控制模块 → 通过过程标签类型创建控制模块类型...”(Plant Types→ Create Control Module Type From Process Tag Type...);n
3、在新弹出的选择窗口中勾选要创建控制模块类型的过程标签类型模版,点击“创建…”(Create…)按钮,创建控制模块类型;n
4、创建结束,会在之前的过程标签类型同一文件目录下生成新的控制模块类型。n
具体操作图示如下:n
图5通过过程标签类型创建控制模块类型n
图 6选择要移植的过程标签类型n
以上是创建新的控制模块类型的3种方法,工程师在实际的工程组态时可以根据现实项目需求选择不同的创建方式。n
2.3控制模块类型 (CMT)的组态
2.3.1为控制模块类型组态功能块
之前的2.2节中介绍的三种创建控制模块类型的方式,如果控制模块类型不是从过程标签类型移植过来的话,需要工程师手动组态控制模块类型内部的控制功能块。本文按照之前介绍的第一种方式在主数据库中创建一个过程控制模块类型,命名为cmtMT;并以高级过程库中的控制块MotL块为例,说明如何通过组态控制模型类型(CMT)进行CFC编程。n
1、为控制模块类型添加功能块,最终结果参考下图:n
图7控制模块类型中的主要功能块n
2、为控制模块类型分配功能块。n
①、右键控制模块窗口中的“cmtMT”,选择“插入新对象→控制模块”(Insert new object→ Control module);n
②、修改添加的控制模块的“名称”,比如:修改为MT;n
③、为控制模块MT分配功能块,具体方式:将CFC视图中的功能块左键按住直接拖拽到属性“分配的块”(Assigned block)的“分配”(Assignment)参数中去;n
④、模块的“可选”(Optional)选项设置:可实现同一个模块类型用于有少许差别的若干模块。例如,对于项目中的电机的控制,有两种类型,一种是带互锁条件Intlock的,一种是不带互锁条件Intlock的,我们可以共用同一个控制模块类型(MotL电机块 + Intlock互锁块),其中MotL是不可或缺的基本块,所以MT的“可选”(Optional)参数项不需要勾选,而Intlock块勾选“可选”(Optional)选项,这样在创建CM(控制模块,控制模块类型的实例) 时就可以选择实例程序是否包含Intlock块。具体操作参考2.4章节。n
参考MotL块的组态方式,为控制模块类型中的其他3个Intlock块、电机运行反馈DI通道驱动块、控制输出DO通道驱动块创建控制模块,并对相应的控制模块分配所对应的CFC功能块。n
过程如下图所示
图8在控制模块类型中插入控制模块并将其分配电机块MotLn
图9为控制模块类型分配具体的CFC块n
为了能够实现控制模块类型中参数“名称(Name)”、“备注(Comment)”、“运行图标(Operating icon)”等参数信息与所分配的CFC块中的相应参数项同步,还需要将控制模块类型中参数所对应的“分配”一栏指向(或者说分配)相应的CFC块,具体操作可以通过鼠标左键按住CFC块,拖拽的方式实现,如下图:n
图10指定控制模块类型的属性与CFC块的对应关系n
其他控制模块参数与CFC块参数的同步,操作方式相同。n
2.3.2为控制功能块组态控制变量
还是以电机控制块MT为例,将电机控制块 MotL里的Monitor、MonTiStatic、MonTiDynamic等I/O组态到控制模块类型中去。n
①、右键点击“MT”,选择“插入新对象 → 控制变量”(Insert new object → Parameter),并修改新插入的参数的名称;n
图11为控制模块类型创建并分配控制功能块n
②、根据实际工程组态的需求,可以创建多个控制变量;n
③、将功能块上的管脚通过鼠标左键直接拖拽的方式,组态到属性“分配的I/O(Assigned I/O)”对应参数“分配(Assignment)”一栏里。n
以同样的方式,分配MT里组态的其他控制变量。对于通道驱动块,重复上述3个步骤将CFC块的引脚变量PV_In PV_Out组态分配给控制模块fbRUN / ctrlQ所创建的信号变量。n
图12控制变量添加结束的结构n
2.3.3为控制模块类型组态消息
在组态控制模块类型的同时,对于支持消息的功能块可以将其消息组态到控制模块类型中去,比如本文中使用的MT(MotL)块。n
组态消息的过程参考下列步骤:n
①右键单击对象“MT”;选择“插入新对象 → 消息”(Insert new object → Message),在本文中演示如何将MotL块中的3个外部消息组态到控制模块类型中去;依次插入3个消息,可以给新创建的消息定义特定的名称;如下图:n
图13为控制模块NK(VlvL块)插入3个消息n
②、为了将消息指定到所对应的功能块,可以使用拖拽的方式,例如:左键按住NK块将其直接拖拽到消息的“分配的消息”属性的“分配”一栏中;n
图14为控制模块类型中的控制消息分配消息块n
③、修改控制模块类型中所创建消息的“消息标识符(Message identifier)”(比如:输入为SIG4)参数,使之与CFC功能块(本文中为MT,MotL块)中的消息建立起对应关系,其他参数属性在识别到“消息标识符(Message identifier)”后会自动关联填充,如下图所示:n
图15分配功能块中的消息到控制模块类型中的控制消息n
这样,将消息组态到控制模块类型中后,在生成具体的实例(CM,控制模块)时可以在控制模块类型窗口中修改消息 “事件”参数的内容,来定义特定的消息文本。n
2.4通过控制模块类型(CMT)创建CFC程序
使用控制模块类型(CMT)编程CFC的过程实际上就是创建关联实例(CM,控制模块)的过程,具体步骤如下:n
1、在主数据库中复制要被编程的控制模块类型(CMT)到相应的工厂层级下,并按照工艺要求修改成特定的名称;如下图:n
图16创建控制模块类型的实例n
2、双击编辑所创建的实例MT111,对于MT111的控制包括:运行反馈DI、控制输出DO,可选择特定的“可选控制模块”来定义MT111中所包含的CFC功能块,选择方法参考图17。n
图17添加可选的控制模块n
图 18添加完成后的CFC程序结构n
3、完成信号互联;操作过程:在控制模块类型窗口,左键点中控制变量fbOPN,在右侧的编辑界面中,右键点击“信号”的属性值一栏,在弹出的菜单“新建信号互联”,并在下拉列表中选择符号表中预先定义好的符号变量。具体步骤可以参考图19:n
图19为控制变量添加信号参数n
采用相同的方式,完成控制输出DO点的地址互联,最终结果如下图:n
图20为控制变量添加地址互联n
4、左键定义好的消息,修改控制块MT外部消息的消息文本,具体操作如下图:n
图 21修改消息的事件文本n
5、可以在控制模块类型编辑窗口修改控制块MT的“运行图标”参数,指定CFC编译到OS上所对应的快图标类型。n
图22指定运行图标类型n
6、也可以修改控制模块中控制变量的值,本文中通过控制模块类型窗口修改阀门控制块中监视时间的初始化值,如下图:n
图 23修改参数的初始化值n
到此为止,就通过SIMATIC Manager完成了一个从控制模块类型创建控制模块的创建。n
2.5使用同步功能更新控制模块
通过控制模块类型创建的CFC程序(CM,控制模块),可以利用同步功能查找出相对于控制模块类型中更改的内容,随后将这些更改应用于控制模块,也就是说,在控制模块类型(CMT)完成实例创建之后,如果本身被修改更新后(比如:修改了参数、插入了新的CFC控制功能块等),可以通过同步功能,将改变更新到实例CFC程序(CM,控制模块)中去。n
具体操作参考以下方式:在工厂视图下右键需要被同步的子项目,选择“控制模块(Control modules)→同步…(Synchronize…)”,如下图:n
图 24控制模块类型的同步操作n
在本文中,控制模块类型cmtMT中MT块的CSF引脚增加了逻辑控制块,具体结构变化请参考下图:n
图 25增加了新的控制CFC块的控制模块类型n
1、按照图24中的方法,开始进行控制模块的同步。n
图 26选择要同步的控制模块类型n
2、如果同步模块类型与项目中的控制模块存在差异,同步操作则被允许,否则“同步模块(Synchronize templates)”按钮为灰色,不可操作。n
图 27控制模块类型与项目中的控制模块存在差异,允许同步操作n
3、点击“同步模块(Synchronize templates)”按钮,进行同步操作。n
图 28进行同步操作n
4、同步结束,关闭操作窗口。n
图 29同步成功结束n
5、按照控制模块类型同步后的CFC程序被更新。n
图 30被同步后的CFC程序(MT111)n
注意:同步功能并不会对控制模块类型中的所有改变都适用,如果在控制模块类型中增加/删除控制模块、控制变量、消息、CFC块;增减/删除控制模块间的互连、控制模块与控制模块类型内的CFC块间的互连,以及一些参数属性的修改,比如:控制变量变量类型的修改、控制模块Operating icon的修改、消息中Message identify属性的修改等都可以通过同步功能传递到控制模块中去;但是对于一些修改,比如:非控制模块间的互连、控制变量参数的初始值、控制模块的AuthorVersion参数等的修改则无法通过控制模块类型的同步功能实现传递。n
3.总结
以上章节详细介绍了控制模块类型(CMT)的创建过程以及通过控制模块类型去创建一个控制模块(CM,在工厂视图的层级文件夹下生成一个实例CFC程序)的具体步骤。可见,在由控制模块类型(CMT)创建控制模块(CFC程序)时可以通过选择可选的控制模块实现控制功能的灵活组态。同时,在控制模块编辑窗口通过修改预先定义好的控制变量或者消息,实现CFC程序的快速编程,比如:完成信号参数互连、修改控制变量参数的值、修改报警消息的事件文本、定义块图标的类型等常用功能。使用控制模块类型的同步功能除了能够保证控制模块(CM)与控制模块类型(CMT)共性的一致,还可以保留控制模块(CM)中的自有的控制逻辑,满足实际工程中CFC程序组态的多样性要求。简而言之,PCS 7系统中的控制模块类型(CMT),给工程师提供了一种快捷、结构清晰、灵活的编程方式。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325660.html