1、 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) 如何提高 WINCC 组态效率 组态软件的出现使我们不需要专门的编程开发人员就可以根据自己的控制对象和任务, 任意组态,构建出完整的自动化控制工程。随着工业自动化程度和计算机技术的不断发展, 组态软件的应用也越来越广泛。西门子的 Wincc 就是其中较具代表性的产品,它为用户提 供了简便、直观的操作界面,包含大量组态工具,在和西门子的 PLC 联合实现工业过程动 态可视化、数据采集和管理、过程监控和报警、报表等功能上都有其独特的优势。 Wincc 不仅提供
2、众多强大的功能,同时还为我们准备很多工具和方法来提高我们组态 的效率。下面我们就从组态的第一件事:规划变量,开始了解这些方法。 1 结构变量 首先我们要避免直接取 DI、M 等 PLC 区域的数据。这样的做法会导致,如果 PLC 方面信号 有调整,组态变量的地址势必也要调整。使用一个 DB(数据块)作为 Wincc 获取变量的中 介就可以避免上述情况。这样在较大的项目中可以保证组态开发人员和 PLC 编程人员同时 工作,不必考虑地址的问题,最后按照规划好标签和地址的关系,PLC 程序只要将数据赋 到 DB 或从 DB 取数据连接到自己的变量就可以了。这个数据块起到隔离的作用,也好比电 气柜中的
3、端子排。 其次也尽量不要建立单个的布尔型变量,应为 Wincc 和 PLC 通讯时,一个布尔变量也占用 一个字节,不如把相关的布尔量组合在一个字节内,建立一个变量。例如对于设备的状态 可以做一个 Stat 的字节变量: Stat Bit 0 电源合闸(具备启动条件) Bit 1 启动(变频器使能) Bit 2 bit 3 正向运行 bit 4 反向运行 bit 5 故障指示 bit 6 bit 7 在以上讨论的两点的基础上,就可以结合结构变量来大大提高建立标签的效率了。我们可 以把某类设备相关的所有控制变量、过程变量定义在一个结构中。在定义结构变量的同时 各个成员变量的相对地址就已经定义好了,
4、因此在生成实际变量时只要指定首地址即可。 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) 一个好的结构定义,可以减少十几倍的工作量。定义成员变量时可以根据需要指定其为内 部变量,还是外部变量,十分灵活。 下面是一个针对 PI 调节器的结构变量的例子: 结构名 成员变量 数据类型 偏移地址 注释 PID_C MAN_ON BIT 0 手动调节 RANGE FLOAT 2 仪表量程 PI FLOAT 6 放大倍数 TI DWORD 10 积分时间 MAN FLOAT 14 手动设定值 MV_IN FLOAT
5、18 阀门开度反馈 SP_INT FLOAT 22 过程设定值 PV_IN FLOAT 26 过程实际值 需要指出的一点是,在规划结构变量时要考虑周全,一旦需要改变结构必须删除所有该结 构变量的实例才可以修改。修改完毕,变量要重新建立。 2 画面模板 建立好结构变量,它在实际组态画面的时候有那些优势呢?那就来看看画面模板是如何利 用结构变量的。 在连注工艺中要对每一流的扇形段进行流量调节,是否要为每个调节阀画一个 PI 调节器呢? 不必,我们可以利用 Wincc 提供的画面模板功能。我们在需要使用弹出窗口时,都会应用 一个画面窗口对象(picture windows) ,这个对象有一个属性:标
6、签前缀(tag prefix) ,这 个属性为我们制作画面模板提供了便利。 由于画面模板中所引用的所有变量都需要有共同的前缀,所以在定义变量及命名时要做全 盘的考虑。最常见的方法是将模板中的变量定义到一个结构变量中,这样生成实例时所有 变量就有共同的前缀了。 例如,对于足辊段的调节器定义一个属于 PID_C(结构)类型的变量 F_Flow。就会自动生 成如下变量: F_Flow.MAN_ON F_Flow.RANGE F_Flow.PI 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) F_Flow.TI
7、F_Flow.MAN F_Flow.MV_IN F_Flow.SP_INT F_Flow.PV_IN .SP_INT .PV_IN .MV_IN .MAN .MAN_ON .RANGE .PI .TI 在对模板编程时只要引用成员变量名即可。如设定值(SP)的 I/O 域属性输出值 (outputvalue)连接到“.SP_INT” (注意分隔符“.” ) 。在调用模板时只要设定其标签前缀 属性(tag prefix): SetTagPrefix(lpszPictureName,”OP_Box”,”F_Flow”); 其中”OP_Box”为画面窗口对象( picture windows)的名称。
8、 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) 有时结构已经定义好,又需要在模板中加入一个不在结构中的变量,也不必修改结构。如 上例,增加一个微分调节时间,只要定义变量 F_Flow_DI,引用时用如下格式:”_DI ”。因 此在使用模板时对变量的命名也是十分重要的,用好了可以事半功倍。 3 变量替换 Wincc 为一个画面元素的动态化提供了多种途径:变量、动态对话框、动作脚本。如果我 们用变量和动态对话框来实现控制任务时,可以利用变量提换工具快速更改引用的变量, 使相同的组态应用到不通的对象上。 对于
9、脚本就不那么简单了。在 Wincc 5.0 之后的版本中,当我们编辑一个 C 动作的时候会发 现脚本编辑器中会自动生成如下代码: / WINCC:TAGNAME_SECTION_START / syntax: #define TagNameInAction “DMTagName“ / next TagID : 1 / WINCC:TAGNAME_SECTION_END / WINCC:PICNAME_SECTION_START / syntax: #define PicNameInAction “PictureName“ / next PicID : 1 / WINCC:PICNAME_SEC
10、TION_END 其实这就是 Wincc 为我们提供的提提换变量而特意准备的。例如我们有四个活套。对于 1 号活套当检测到有钢时由“01L.Spare_1”变量触发变换颜色显示;当活套起套时由 “01L.Stat”变量触发改变活套 Y 轴位置显示。其他活套仅仅是将“01L”用“02L ”、 “03L”、 “04L”替换。通常的方法是先写好 1 号活套,复制成四个,再逐一修改脚本和触发条件中 的变量。但如果我们在脚本中不直接使用变量,而采用下面的形式定义: / WINCC:TAGNAME_SECTION_START #define GetStell “01L.Spare_1“ #define L
11、oopUp “01L.Stat “ / WINCC:TAGNAME_SECTION_END 就可以顺利完成变量的提换了。应用时先选中需要编辑的对象,如 2#活套,再选择菜单 “编辑”“链接”“标签连接”进行变量替换,如下图所示。否则这种方法只能替换 触发条件中的变量,而不能替换脚本中的变量 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) 4 项目函数 有时编辑一些对象时会发现其脚本程序非常类似,这时最好将这些脚本程序写成项目函数, 在需要时调用。例如,为用颜色来反映设备运行状态,就可以编写 SetColo
12、rStatus 函数: #include “apdefap.h“ long SetColorStatusMill(int status) switch (status) case 1: / ready return(CO_OFF); case 2: / On 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) case 3: / 1+2 not reset ready return(CO_ON); /enable case 8: / Run 1 case 16: / Run 2 case 9: / 1+8 M
13、CC case 10: / 2+8 Convert reset ready case 11: / 1+2+8 Convert not reset ready case 17: / 1+16 MCC case 18: / 2+16 Convert reset ready case 19: / 1+2+16 Convert not reset ready return(CO_RUN); case 32: /Fault case 34: return(CO_ALARM); default: return(CO_NOT_READY); 这个函数在应用的时候要指定一个表示状态的标签(这个标签要按照表一所
14、示的变量来规 划) ,比如编辑对象颜色属性(background color)的脚本: return SetColorStatus(“Mill_Status”); 就可以根据设备当前的状态显示不通的颜色了。 报名 /咨询 : 0512-67580282 ; 全国统一咨询: 400-8169-114(免长途) 联系人:陆老师 13584844596 QQ 咨询 :1265071127【 请注明 “PLC 咨询 ”】 E-Mail:luxy0926 PLC 官网: 培训地址:苏州吴中区宝丰路 1 号 天天工控培训中心您身边的自动化专家 QQ:1265071127 陆晓英 13584844596 400-8169-114(分机 512) 培训效果保障:每期培训班结束后,都有相应的模拟考试和笔试;通过模拟工 厂常见故障让学员分析和处理,让他们的工作更轻松;同时我们还开通电话咨 询热线,对工厂中遇到的问题进行电话咨询和解答。对没有完全掌握培训内容 的学员,可在下次培训中免费学习。 培训颁发证书:天天 PLC 培训机构 PLC 培训班结业证书,亦可自选参加天天组 织的国家考试可以申请PLC 程序设计师资格证书 ,费用 380 元。