• 大小: 5.66MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-31
  • 语言: C#
  • 标签: C#SCADA  

资源简介

利用PISDK提供的接口实现1秒采集1万个数据点效率

资源截图

代码片段和文件信息

using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Windows.Forms;
using PISDK;
using PISDKCommon;
using System.Runtime.InteropServices;
using System.Threading;

namespace PI_Edit
{
    public partial class Form1 : Form
    {
        private PISDK.PISDK piSDK;   // 定义PISDK接口piSDK
        private Server server;       // 定义Server接口server
        private PISDK.PIValue piValue;
        private PISDK.ListData listData;
        private PointList pilist = new PointList();
        private PointValues values;
        private EventPipe eventpipe;
        private PIValues pivalues;
        private PIValue pv;
        private PIAsynchStatus piassynch;
        private PISDK._DEventPipeEvents_Event EventNew;
        private PISDK.EventPipe mdbEvents;

        private static string Errorpath = AppDomain.CurrentDomain.baseDirectory + “Errorlog.txt“;


        /// 
        /// 构造函数
        /// 

        public Form1()
        {
            InitializeComponent();
            piSDK = new PISDKClass();  // 创建PISDKClass对象,并使接口piSDK指向它
            // 对ListBox控件lstServer进行初始化,使其列出服务器列表中的所有服务器名
            foreach (Server srv in piSDK.Servers)
            {
                lstServer.Items.Add(srv.Name);
            }
            // 使lstServer控件的选中项为默认服务器名
            lstServer.SelectedItem = piSDK.Servers.DefaultServer.Name;
            // 使PI用户为默认服务器的默认用户
            txtUser.Text = piSDK.Servers.DefaultServer.DefaultUser;
            // 使接口server指向默认服务器
            server = piSDK.Servers[lstServer.SelectedItem.ToString()];
            comboBox1.Items.Add(“Eventpoint“);
            comboBox1.Items.Add(“pointValues“);
            comboBox1.SelectedIndex = 0;
            textBox1.Text = “1000“;
        }

        private void btnConnect_Click(object sender EventArgs e)
        {
            DataTable table = new DataTable();
            if (comboBox1.SelectedItem.ToString() == “Eventpoint“)
            {
                ADDEventpoint(table);
                timer1.Tick -= new EventHandler(getpointvalues);
                timer1.Tick -= new EventHandler(getEventpipe);
                timer1.Tick += new EventHandler(getEventpipe);
            }
            if (comboBox1.SelectedItem.ToString() == “pointValues“)
            {
                ADDPointValues(table);
                timer1.Tick -= new EventHandler(getEventpipe);
                timer1.Tick -= new EventHandler(getpointvalues);
                timer1.Tick += new EventHandler(getpointvalues);
            }
        }

        /// 
        /// 取时时数据没有重复的点号,指定几个就是几个 PointValues取法
        /// 

        /// 
        private void ADDPointValues(DataTable table)
        {
            OpenPIServer();
            DateTime startTime = DateTime.Now;
            foreach (DataRow Row in table.Rows)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-31 22:13  PISDK_SCADA_快速采取示例\
     目录           0  2015-05-31 18:35  PISDK_SCADA_快速采取示例\PI_Edit\
     文件         990  2015-05-31 18:34  PISDK_SCADA_快速采取示例\PI_Edit.sln
     文件       22016  2008-11-16 22:00  PISDK_SCADA_快速采取示例\PI_Edit.suo
     文件       52736  2015-05-31 22:11  PISDK_SCADA_快速采取示例\PI_Edit.v12.suo
     文件         134  2014-09-22 16:53  PISDK_SCADA_快速采取示例\PI_Edit\app.config
     目录           0  2015-01-26 23:46  PISDK_SCADA_快速采取示例\PI_Edit\bin\
     目录           0  2015-01-26 23:46  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\
     文件       40960  2002-12-09 11:24  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.OSIDAAuto.dll
     文件       49152  2003-01-31 08:44  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.OSIHDAAuto.dll
     文件      237568  2007-08-13 11:50  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.PISDK.dll
     文件       32768  2007-08-13 11:50  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.PISDKCommon.dll
     文件       12288  2007-08-13 11:59  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.PISDKCtl.dll
     文件       12800  2007-08-13 11:59  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.PISDKDlg.dll
     文件       32768  2007-08-13 11:50  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\OSIsoft.PITimeServer.dll
     文件      585728  2006-11-27 12:18  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\piapi32.dll
     文件       31232  2014-11-17 17:24  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.exe
     文件         134  2014-09-22 16:53  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.exe.config
     文件       50688  2014-11-17 17:24  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.pdb
     文件       21656  2015-05-31 22:11  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.vshost.exe
     文件         134  2014-09-22 16:53  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.vshost.exe.config
     文件         490  2013-06-18 20:28  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\PI_Edit.vshost.exe.manifest
     文件    13682003  2014-09-30 09:36  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\SCAdAloglog.txt
     目录           0  2015-01-26 23:46  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\新建文件夹\
     文件      585728  2006-11-27 12:18  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\新建文件夹\piapi32.dll
     文件       22016  2014-09-23 10:27  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\新建文件夹\PI_Edit.exe
     文件         134  2014-09-22 16:53  PISDK_SCADA_快速采取示例\PI_Edit\bin\Debug\新建文件夹\PI_Edit.exe.config
     目录           0  2014-11-20 19:41  PISDK_SCADA_快速采取示例\PI_Edit\bin\Release\
     文件       16494  2015-05-31 18:34  PISDK_SCADA_快速采取示例\PI_Edit\Form1.cs
     文件       16809  2015-05-31 18:33  PISDK_SCADA_快速采取示例\PI_Edit\Form1.Designer.cs
     文件        6008  2014-11-17 15:57  PISDK_SCADA_快速采取示例\PI_Edit\Form1.resx
............此处省略52个文件信息

评论

共有 条评论

相关资源