Wonderware Historian Servers 操作

26 篇文章 6 订阅

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的相关配置

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值