MES系统如何查询和使用WinCC归档数据(1)

本文介绍了如何在实施MES项目时,利用西门子WinCC的ConnectivityPack和SDK从实时和历史数据库中提取数据,以支持产量统计、质量追溯等功能,通过示例代码展示了如何连接、查询和处理WinCC的历史数据,简化了数据采集和使用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实施MES项目中,比如产量统计、质量数据追溯、SPC统计等业务,不可避免需要使用OT层设备历史或者实时数据,如果恰好数据采集和存储使用了西门子WinCC,本文主要介绍如何使用WinCC数据采集功能和历史数据归档存储能力为MES系统提供数据支持。

1.前置条件:需要使用WinCC的连通性数据包(Connectivity Pack),需要安装服务端和客户端,Connectivity Pack提供实时和历史归档数据的查询SDK;

2.使用SDK包,需要自己写代码,支持VB、C#等语言;

3.以下一个实际项目中使用的部分代码,实现设备运行和故障历史数据统计;

项目代码如下:

(1)如何连接WinCC历史数据库

//需要查询变量数据字典业务数据库连接

string strSqlcon = "SERVER=【wincc数据库IP地址】;DATABASE=数据库;PWD=密码;UID=用户;";

//WinCC归档库连接

 string conn = @"Provider=WinCCOLEDBProvider.1;Catalog=【归档数据库名称】; Data Source=主机名称\WINCC";
            //WinccOleDb数据对象创建
            using (OleDbConnection DBConnection = new System.Data.OleDb.OleDbConnection(conn))
            {
                //打开数据库连接

                DBConnection.Open();
                if (DBConnection.State == ConnectionState.Open)

            }

(2)WinCC变量名称SQL查询

 using (SqlConnection sqlcon = new SqlConnection(strSqlcon))
                    {
                        sqlcon.Open();
                        SqlCommand sqlcom = sqlcon.CreateCommand();
                        sqlcom.CommandText = "select * from MESDB.dbo.WINCC_TbFlag";
                        DataTable dtflagTemp = new DataTable();
                        dtflagTemp.Load(sqlcom.ExecuteReader());
                        string beingtime = string.Empty;
                        string frequency = string.Empty;
                        string filter =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值