WINCC SQL Server实现配方管理
- 格式:doc
- 大小:15.50 KB
- 文档页数:4
WINCC SQL Server实现配方管理
WINCC+SQL Server实现配方管理
摘 要 掺混单元采用西门子PCS 7系统,工艺上各种物料的成分比例需按照设
计配方添加,并要求在上位机实现对配方的新建、读取、修改、下载等操作,若采
用传统的DB块存储数据很难实现,所以我厂采用了WINCC+SQL Server的方法。
【关键词】配方 SQL Server WinCC
1 掺混单元配方要求
掺混单元共有12条生产线生产不同型号的ABS产品。配方管理主要实现功能
有新配方的建立、原有配方的读取、修改、下载等功能。前三个功能主要是在上位
机WinCC实现对SQL Server数据库的管理。下载功能须准确无误的将从数据库中
读取出的配方下载到该生产线的底层控制器DB块中,一旦出错会直接造成产品不
合格或者影响其产品质量。
2 配方数据库的创建
此项目中有6台电脑,为保证配方数据的一致性,将数据库建立在ES01站
上,其他操作站通过网络实现对配方数据的读取和修改。因此我们只需在ES01站
上打开Microsoft SQL Server 2005,创建C_Formula数据库,并在其下新建
Formula数据表,将Formula_No定义为primary key且不可为空。
3 WinCC与数据库的连接
WinCC每次对数据库进行操作都先要与数据库建立连接,连接成功方可对数据
库进行各种操作,如:向数据库中插入新记录,更新、读取、删除数据库记录等。
WinCC采用Visual Basic脚本实现与数据库建立连接。脚本写法如图1所示。
connstr = “Provider=SQLOLEDB; DATA SOURCE=ES01,WINCC;INITIAL
CATALOG=C_Formula;User ID=SIAS; PASSWORD=123456”为连接字符串,其中的各
项参数意义分别是数据库驱动,数据库位置,数据库名称,访问时的用户名和密
码。
Set Conn=CreateObject(”adodb.connection”)用于记录数据库的连接状
态,验证是否连接成功。
Set Rs=CreateObject(”adodb.recordset”)用于临时存取数据集。
4 在WinCC上组态操作画面并编辑脚本
WinCC是SIMATIC PCS 7过程控制系统及其它西门子控制系统中的人机界面组
件。用户通过WinCC的人机界面实现配方管理。下面图3是从WinCC中创建的配方
管理画面。其中“选择配方”对话框可以从数据库中读取出已经储存好的配方。
“保存当前配方” 按钮有两个功能:一是新建配方,二是修改配方。新建配方是在
修改原有配方数据时,并对配方号进行更改,点击“保存当前配方”按钮会在数据
库中自动生成一个新的配方。修改配方是工艺工程师只对读取出原有配方数据进行
修改,但不修改配方号,点击“保存当前配方”按钮会将修改好的数据保存到原有
配方数据库中。“删除当前配方”按钮能将读取出的配方从数据库内删除。
下面是一些常用的数据库命令:
插入数据:INSERT INTO 表名 (列名1 [,列名2…])VALUES (常量1[,常量
2]…)
修改数据:updateset 列名 = 表达式 where 列名 = [where 条件表达式]。
更新数据:Update 表格 set 参数1=参数1数值。
读取数据:select * from table1 where 筛选条件。
删除数据: delete from 表名 where 条件。
5下载配方及下位机的组态
下载功能的核心是将数据库里读出来的数据赋值给下位机里的变量。利用
Visual Basic语句HMIRuntime.Tags(“下位机中变量的标签名”).Write
rs(“A”) 来实现,其功能是将
数据库里返回记录集里的A变量数值赋值给前面括号里的变量。字符串数据也
可采用此方法赋值,只是前面要加一个字符转换,如CStr(rs(“A”))。
下位机的组态主要是数据块(DB块)的建立和数据传送。先为每条生产线建立一
个配方数据块,将其内的变量上传到WinCC上来。再建立一个公共的配方数据块
(DB3),内容和每条生产线的配方数据块完全一样,用来暂时存储当前选中的配方
里的内容。其中需要注意的是配方名称,比如DG-MG47Natu018005字符串,需要建
立的是String而不是Char 类型。String类型是以ASCII码的格式,每个字符占
一个字节空间。另外如果出现数据库汉字录入乱码问题,需要修改数据库属性中
Collation属性为Chinese_PRC_CI_AS。
下载的原理是先将从数据库中读出的配方下载到公用的数据块(DB3)里,再判
断当前选择的是哪条生产线,接着将公用数据块里的数据利用SFC 20 BLK MOV 功
能块传送到选择的生产线数据块里。
下载配方绝对不能出现误操作,一旦出错会直接影响产品质量和公司信誉。为
了做到这一点,工艺人员在点击“下载配方”按钮后,下载页面左侧对应生产线的
配方下装请求提示框会变为绿色,并弹出对应生产线的下装确认和取消两个按钮,
点击它们也会有相应的消息提示,这样就保证了配方下载的准确性。
6 结果与讨论
因为掺混生产线多,经常要新建、修改、下装配方,但本套系统运行两年来,
从来没有因为配方下装原因导致工艺停车或者产品不合格情况。
参考文献
[1]唐红亮.SQL Server 数据库设计与系统开发教程[M].清华大学出版社,
2007.
[2]杨冬青.数据库系统概念[M].机械工业出版社,2007.
作者单位
天津大沽化工股份有限公司 天津市 300455