栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Wonderware Historian Servers 操作

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Wonderware Historian Servers 操作

1、概述   

  工控软件Wonderware System Platform带有Historian实时归档数据库,采用SQL Server+本地文件形式管理和存储归档数据。数据的元数据(包括标签名、说明、采样频率等)存储在SQL Server的Runtime库中,归档的结果数据存储在本地。

2、Historian架构

   Historian架构图如下:

3、Microsoft SQL Server Management Studio

      数据库的分析等,可以使用Microsoft SQL Server Management Studio直接操作,主要是数据在视图中。可以使用标准SQL语法,但需要注意相关约束。

4、插入和查询语法示例

INSERT INSQL.Runtime.dbo.AnalogHistory (DateTime, TagName, Value,
QualityDetail)
VALUES ('1999-11-11 16:05:10', 'NonIOTag1', 56, 192)

INSERT INTO INSQL.Runtime.dbo.StringHistory (DateTime, TagName, Value,
wwTimeZone, wwVersion)
VALUES ('1999-11-11 16:05:10', 'IOstring1', 'Batch 10', 'Eastern Standard
Time', 'latest')

INSERT v_History (TagName, QualityDetail, Value, DateTime)Importing, Inserting, or Updating History Data Wonderware Historian Administration Guide
Version 17.3.100 163
VALUES ('NonIOtag1', 192, 56, '1999-11-11 16:05:10')

INSERT INTO v_History (TagName, DateTime, Value, QualityDetail)
SELECt 'ManualReactTemp', DateTime, 32 + Value * 9 / 5, 192 FROM
v_AnalogHistory
WHERe TagName = 'ReactTemp'
AND DateTime >= dateadd(mi, -50, getdate())
AND DateTime < dateadd(mi, -10, getdate())
AND wwRetrievalMode = 'Delta'

DECLARE @Value float
DECLARE @DateTime DateTime
SET @Value = 1.2345
SET @DateTime = DateAdd(Minute, -10, GetDate())
INSERT v_History (DateTime, TagName, Value, QualityDetail)
VALUES (@DateTime, 'NonIOTag1', @Value, 192)

5、编程开发

     在本机连接和操作数据,C#参考代码段如下:
 
       private string SqlServerConnString = "Persist Security Info=False;Integrated Security=true;Initial Catalog=runtime;server=(local)";

        using (SqlConnection conn = new SqlConnection())
        {
            String sql = "SELECt TagName,Description,AcquisitionType,ItemName,TagType FROM _Tag";
            conn.ConnectionString = SqlServerConnString;
            conn.Open();
            SqlCommand cmd_query = new SqlCommand(sql, conn);
            cmd_query.ExecuteNonQuery();
            using (SqlDataReader reader = cmd_query.ExecuteReader())
            {
                while (reader.Read())
                {
                    String TagName = reader["TagName"].ToString();
                    String Description = reader["Description"].ToString();
                    String AcquisitionType = reader["AcquisitionType"].ToString();
                    String ItemName = reader["ItemName"].ToString();
                    String TagType = reader["TagType"].ToString();

                    System.Console.WriteLine($"{TagName},{Description},{AcquisitionType},{ItemName},{TagType}");
                }
            }
        }

其他语言代码可以参考上面的进行修改。

Historian默认是仅允许本机访问,如果需要提供远程访问,需要修改SQL Server的相关配置

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号