PCS7中CFC编程之CMT的使用.docx
《PCS7中CFC编程之CMT的使用.docx》由会员分享,可在线阅读,更多相关《PCS7中CFC编程之CMT的使用.docx(19页珍藏版)》请在冰豆网上搜索。
PCS7中CFC编程之CMT的使用
1.概述
从V8.0开场PCS7提供了一种新的概念类型 - 控制模块类型〔CMT〕,在PCS7SIMATICManager编辑器中进展CFC编程的时候,可以通过使用预先定义好的控制模块类型到达快速、灵活组态的目的。
作为一种快速编程的方式,与过程标签类型〔Processtagtype〕的使用相比拟,通过控制模块类型进展快速编程有以下优点:
1、从PCS78.0SP1起,可以通过同步功能实现控制模块类型 (CMT) 到控制模块 (CM) 的改变更新,操作比拟简洁。
2、在控制模块类型 (CMT) 中可以配置可选块,这样就可以通过一个控制模块类型去创立同一类控制模块的不同变形。
3、在生成的控制模块实例中的自定义修改,做控制模块类型到控制模块的同步过程中不会丧失,保持个体的特性。
4、此外,控制模块类型或控制模块除了在PCS7SIMATICManager编辑器中使用之外,还能够与AdvancedES之间进展扩展数据交换,能够更进一步提高整个工程的编程效率。
有关在AdvancedES中操作控制模块类型的更多信息,请参考以下:
“通过一个实际例子说明如何使用 SIMATICPCS7AdvancedES进展高效的总体工程组态〞
/cs/document/61627479?
caller=view&lc=zh-
2.使用控制模块类型(CMT)编程CFC
以下图给出了创立新的控制模块类型或通过从过程标签类型移植来创立控制模块类型并生成关联实例〔控制模块〕的过程。
图1使用控制模块类型进展CFC编程的过程
2.1软件环境说明
操作系统:
Windows7UltimateSP1〔64bit〕英文版
组态应用软件:
PCS7V8.0SP2多语言版
2.2控制模块类型 (CMT)的创立
关于控制模块类型的创立,可以分别通过以下3种方式来实现:
1、从 SIMATICManager 中创立控制模块类型;
2、从CFC编辑器中创立控制模块类型;
3、从过程标签类型移植。
2.2.1从 SIMATICManager中创立控制模块类型
具体过程如下:
1、在工程中翻开主数据库;
2、使用菜单命令“视图〞→“工厂视图〞〔View→ PlantView〕切换到工厂视图,控制模块类型要在工厂视图的层级下完成创立;
3、右键单击文件夹选项选择菜单命令“插入新对象〞→“控制模块类型〞〔InsertNewobject→ControlModuleType〕,完成控制模块类型的创立。
图 2从 SIMATICManager中创立控制模块类型
2.2.2从CFC编辑器中创立控制模块类型
从CFC编辑器中创立控制模块类型的具体操作过程如下:
1、在库的工厂视图中,右键单击以选择菜单“插入新对象→ CFC〞〔Insertnewobject → CFC〕;
2、使用CFC编辑器翻开新建的CFC对象;
3、在菜单中选择“视图→工艺I/O〞〔View→TechnologicalI/Os〕,将在CFC编辑器中翻开一个新的窗口;此外,如果直接在CFC编辑器的工具栏上点击“工艺I/O〞〔TechnologicalI/Os〕按钮也可以完成同样的操作效果;
4、通过鼠标右键单击空白窗口翻开快捷菜单,在此快捷菜单中选择“插入新对象→控制模块〞〔Insertnewobject→Controlmodule〕,此时,即完成从CFC编辑器中创立控制模块类型的操作。
图3在CFC编辑器中翻开工艺I/O窗口
图4插入控制模块完成控制模块类型的创立
2.2.3从过程标签类型移植
如果要从过程标签类型移植完成控制模块类型的创立,请参考以下操作步骤:
1、在主数据库中要存在所期望的过程标签类型〔可以自己创立或者从PCS7库中拷贝过程标签类型到主数据库的层级文件夹下〕;
2、在主数据库的工厂视图,右键单击层级文件夹,在选择菜单中选择“控制模块→ 通过过程标签类型创立控制模块类型...〞〔PlantTypes→ CreateControlModuleTypeFromProcessTagType...〕;
3、在新弹出的选择窗口中勾选要创立控制模块类型的过程标签类型模版,点击“创立…〞〔Create…〕按钮,创立控制模块类型;
4、创立完毕,会在之前的过程标签类型同一文件目录下生成新的控制模块类型。
具体操作图示如下:
图5通过过程标签类型创立控制模块类型
图 6选择要移植的过程标签类型
以上是创立新的控制模块类型的3种方法,工程师在实际的工程组态时可以根据现实工程需求选择不同的创立方式。
2.3控制模块类型 (CMT)的组态
2.3.1为控制模块类型组态功能块
之前的2.2节中介绍的三种创立控制模块类型的方式,如果控制模块类型不是从过程标签类型移植过来的话,需要工程师手动组态控制模块类型部的控制功能块。
本文按照之前介绍的第一种方式在主数据库中创立一个过程控制模块类型,命名为cmtMT;并以高级过程库中的控制块MotL块为例,说明如何通过组态控制模型类型〔CMT〕进展CFC编程。
1、为控制模块类型添加功能块,最终结果参考以下图:
图7控制模块类型中的主要功能块
2、为控制模块类型分配功能块。
①、右键控制模块窗口中的“cmtMT〞,选择“插入新对象→控制模块〞〔Insertnewobject→ Controlmodule〕;
②、修改添加的控制模块的“名称〞,比方:
修改为MT;
③、为控制模块MT分配功能块,具体方式:
将CFC视图中的功能块左键按住直接拖拽到属性“分配的块〞(Assignedblock)的“分配〞(Assignment)参数中去;
④、模块的“可选〞(Optional)选项设置:
可实现同一个模块类型用于有少许差异的假设干模块。
例如,对于工程中的电机的控制,有两种类型,一种是带互锁条件Intlock的,一种是不带互锁条件Intlock的,我们可以共用同一个控制模块类型〔MotL电机块 + Intlock互锁块〕,其中MotL是不可或缺的根本块,所以MT的“可选〞(Optional)参数项不需要勾选,而Intlock块勾选“可选〞(Optional)选项,这样在创立CM〔控制模块,控制模块类型的实例〕时就可以选择实例程序是否包含Intlock块。
具体操作参考2.4章节。
参考MotL块的组态方式,为控制模块类型中的其他3个Intlock块、电机运行反应DI通道驱动块、控制输出DO通道驱动块创立控制模块,并对相应的控制模块分配所对应的CFC功能块。
过程如以下图所示
图8在控制模块类型中插入控制模块并将其分配电机块MotL
图9为控制模块类型分配具体的CFC块
为了能够实现控制模块类型中参数“名称(Name)〞、“备注(ment)〞、“运行图标(Operatingicon)〞等参数信息与所分配的CFC块中的相应参数项同步,还需要将控制模块类型中参数所对应的“分配〞一栏指向〔或者说分配〕相应的CFC块,具体操作可以通过鼠标左键按住CFC块,拖拽的方式实现,如以下图:
图10指定控制模块类型的属性与CFC块的对应关系
其他控制模块参数与CFC块参数的同步,操作方式一样。
2.3.2为控制功能块组态控制变量
还是以电机控制块MT为例,将电机控制块 MotL里的Monitor、MonTiStatic、MonTiDynamic等I/O组态到控制模块类型中去。
①、右键点击“MT〞,选择“插入新对象→控制变量〞〔Insertnewobject→ Parameter〕,并修改新插入的参数的名称;
图11为控制模块类型创立并分配控制功能块
②、根据实际工程组态的需求,可以创立多个控制变量;
③、将功能块上的管脚通过鼠标左键直接拖拽的方式,组态到属性“分配的I/O〔AssignedI/O〕〞对应参数“分配(Assignment)〞一栏里。
以同样的方式,分配MT里组态的其他控制变量。
对于通道驱动块,重复上述3个步骤将CFC块的引脚变量PV_In \ PV_Out组态分配给控制模块fbRUN / ctrlQ所创立的信号变量。
图12控制变量添加完毕的构造
2.3.3为控制模块类型组态消息
在组态控制模块类型的同时,对于支持消息的功能块可以将其消息组态到控制模块类型中去,比方本文中使用的MT〔MotL〕块。
组态消息的过程参考以下步骤:
①右键单击对象“MT〞;选择“插入新对象→消息〞(Insertnewobject → Message),在本文中演示如何将MotL块中的3个外部消息组态到控制模块类型中去;依次插入3个消息,可以给新创立的消息定义特定的名称;如以下图:
图13为控制模块NK〔VlvL块〕插入3个消息
②、为了将消息指定到所对应的功能块,可以使用拖拽的方式,例如:
左键按住NK块将其直接拖拽到消息的“分配的消息〞属性的“分配〞一栏中;
图14为控制模块类型中的控制消息分配消息块
③、修改控制模块类型中所创立消息的“消息标识符(Messageidentifier)〞〔比方:
输入为SIG4〕参数,使之与CFC功能块〔本文中为MT,MotL块〕中的消息建立起对应关系,其他参数属性在识别到“消息标识符(Messageidentifier)〞后会自动关联填充,如以下图所示:
图15分配功能块中的消息到控制模块类型中的控制消息
这样,将消息组态到控制模块类型中后,在生成具体的实例〔CM,控制模块〕时可以在控制模块类型窗口中修改消息“事件〞参数的容,来定义特定的消息文本。
2.4通过控制模块类型(CMT)创立CFC程序
使用控制模块类型〔CMT〕编程CFC的过程实际上就是创立关联实例(CM,控制模块)的过程,具体步骤如下:
1、在主数据库中复制要被编程的控制模块类型(CMT)到相应的工厂层级下,并按照工艺要求修改成特定的名称;如以下图:
图16创立控制模块类型的实例
2、双击编辑所创立的实例MT111,对于MT111的控制包括:
运行反应DI、控制输出DO,可选择特定的“可选控制模块〞来定义MT111中所包含的CFC功能块,选择方法参考图17。
图17添加可选的控制模块
图 18添加完成后的CFC程序构造
3、完成信号互联;操作过程:
在控制模块类型窗口,左键点中控制变量fbOPN,在右侧的编辑界面中,右键点击“信号〞的属性值一栏,在弹出的菜单“新建信号互联〞,并在下拉列表中选择符号表中预先定义好的符号变量。
具体步骤可以参考图19:
图19为控制变量添加信号参数
采用一样的方式,完成控制输出DO点的地址互联,最终结果如以下图:
图20为控制变量添加地址互联
4、左键定义好的消息,修改控制块MT外部消息的消息文本,具体操作如以下图:
图 21修改消息的事件文本
5、可以在控制模块类型编辑窗口修改控制块MT的“运行图标〞参数,指定CFC编译到OS上所对应的快图标类型。
图22指定运行图标类型
6、也可以修改控制模块中控制变量的值,本文过控制模块类型窗口修改阀门控制块中监视时间的初始化值,如以下图:
图 23修改参数的初始化值
到此为止,就通过SIMATICManager完成了一个从控制模块类型创立控制模块的创立。
2.5使用同步功能更新控制模块
通过控制模块类型创立的CFC程序〔CM,控制模块〕,可以利用同步功能查找出相对于控制模块类型中更改的容,随后将这些更改应用于控制模块,也就是说,在控制模块类型〔CMT〕完成实例创立之后,如果本