欢迎来到天天文库
浏览记录
ID:14562988
大小:34.00 KB
页数:3页
时间:2018-07-29
《巧用编程解决wincc组态几个常见问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、巧用编程解决WinCC组态几个常见问题2008-03-21下午05:141前言 中原大化集团复合肥厂(以下简称为复合肥厂)配料称重系统是复合肥生产的中心环节,尿素、磷肥和钾肥以及粘合剂的比例配比直接影响着成品的质量和效用。复合肥厂为提高工艺控制水平,精确配方,采用了PLC控制系统。2系统结构 复合肥厂控制系统,上位机采用SIEMENS工控机,CPU为P41.4G,128MDRAM,20GHD,20’CRT。下位机为一台S7-400型PLC系统,带11个8×13bit模拟量输入模块,9个8×14bit模拟量输入模块,6个32bit24VDC开关量输入模块。上位机与
2、下位机通过MPI电缆连接。 现场的4~20mA和24VDC开关量标准信号进入S7-400,上位机通过MPI/DP通讯口从S7-400获得数据。3组态软件 该系统硬件均采用SIEMENS公司的产品,并采用SIEMENS公司的配套开发软件,上位机用WinCC软件组态,下位机用STEP7编程实现。整个系统中,下位机实现保护、控制和数据采集的功能,上位机执行显示、报警、存储等功能。 WinCC系统组态编程中,Tag是核心概念,人们把它理解为一个外部数据,可以与下位机的一个内存地址单元同步更新,称为外部Tag;也可以作为WinCC系统组态编程的一个全局变量,称
3、为内部Tag(InternalTag)。因此,上位机与下位机的数据通讯是通过外部Tag来实现的,一个工艺参数就对应一个外部Tag,控制系统的大小就决定了外部Tag的多少。WinCC软件根据外部Tag的最大数量分为128、512等不同版本,以适应不同情况,价格相差很大。笔者采用的是128Tag版本。4应用技巧 WinCC是一套功能非常强大的组态软件,但它不可能满足所有的要求。有些功能可以用编程技巧来实现。4.1多Tag传送 当需要的工艺参数超过WinCC版本限制的Tag数目,可以用嵌入式C语言编程实现多个工艺参数打包成一个Tag传送。
4、复合肥厂配料称重系统有146个参数,超过了WinCC的128个Tag的限制,笔者用C语言编程解决了这一问题,基本思想就是把多个参数在下位机内存中连续排列,然后在WinCC中定义一个Tag,它的长度是多个参数之和,取得这个Tag后编程将其分成多个参数。 例如:下位机有两个参数LTN44001和LTN44023,都是16位整数,分别存放在DD99.DW146和DD99.DW148。在WinCC中定义一个外部Tag,命名为PackageTag,类型为32位整数,并联地址为DD99.DBD146,再定义两个内部Tag,名为LTN44001和LTN44023,在Glo
5、balScript(全局脚本)中C语言编程如下: Union { LongDword; IntWord[2]; }union; Union.Dword=GetTagDword(“PackageTag”); SetTagWord(“LTN44001”,Union.Word[0]); SetTagWord(“LTN44023”,Union.Word[0]); 这样,两个参数LTN44001和LTN44023就通过一个Tag传送上来了。理论上只要下位机内存足
6、够,可以传送任意数量的参数而不受WinCC版本外部Tag数目的限制。4.2弹出窗口 在WinCC中的GraphicsDesigner不能制作弹出窗口,这一功能可以按下列步骤来实现: 第一步:制作好弹出窗口的画面。 第二步:在流程图中准备弹出窗口的位置插入一个与弹出窗口画面同样大小的PictureWindow。 第三步:将PictureWindow的MiscellaneousPictureName设为弹出窗口画面。将其MiscellaneousDisplay属性与一个Binary类型的InternalTag相关联。
7、 使这个BinaryTag置1,弹出窗口;清0,弹出窗口消失。这样就实现了弹出窗口的功能。另外,在第二步,可以将PictureWindow置于另一层(Layer),使它不至于遮盖住流程图。4.3自动启动 为了实现WinCC监控系统的自动运行,保证安全性,笔者希望上位机一启动就进入组态的工艺画面,而这一功能可以按下面的步骤实现: 第一步:将WinCC软件的快捷方式放进WinNTStartProgram中的Startup菜单。 第二步:进入WinCC的ComputerProperties设置窗口,点击Gr
此文档下载收益归作者所有