Exemplo n.º 1
0
 public OpcController(OpcConfig config)
 {
     timer.Interval = 5 * 1000;
     timer.Elapsed += Timer_Elapsed;
     Config         = config;
     opcClient      = new OpcDaClient(x =>
     {
         x.ProgId = config.ProgId;
         x.Tags   = config.Items.Select(xx => new OpcTagItem()
         {
             Id = xx.Id, ItemId = xx.ItemId, Misc = xx.Misc
         }).ToArray();
         x.DefaultGroupUpdateRate = 100;
     })
     {
         Shutdown = (s, client) =>
         {
             if (NetStatus)
             {
                 NetStatus = false;
                 NetChangedAction?.Invoke(this, false);
             }
             Log.Warning("OPC Shutdown,{s}", s);
         },
         DataChange = OpcDataChanged
     };
 }
Exemplo n.º 2
0
        // 测试OPC
        public static void Test_CityOPCDataService()
        {
            OpcDaClient client = new OpcDaClient("Kepware.KepServerEX.V6");

            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();
            client.Start();

            Console.WriteLine("已启动, 耗时: {0} ms", stopWatch.ElapsedMilliseconds);
            stopWatch.Restart();

            client.Write("OPCUA.设备 1.翻身河泵站翻身河泵站.泵站.设备数据.开关型测试点", true, out string message1);
            client.Write("OPCUA.设备 1.翻身河泵站翻身河泵站.泵站.设备数据.实数型测试点", 88, out string message2);

            // OPCUA.设备 1.故障通道测试
            client.Write("OPCUA.设备 1.故障通道测试.故障设备.400001", 1, out string message3);
            client.Write("OPCUA.设备 1.故障通道测试.故障设备.400002", 2, out string message4);
            client.Write("OPCUA.设备 1.故障通道测试.故障设备.400003", 3, out string message5);

            Console.WriteLine("写入耗时: {0} ms", stopWatch.ElapsedMilliseconds);
            stopWatch.Restart();

            Console.ReadLine();

            client.Stop();
        }
Exemplo n.º 3
0
        public MainForm()
        {
            InitializeComponent();
            //System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
            ListViewHelper.EnableDoubleBuffer(MainView);
            UpdateList();
            //Подключаемся к ОРС
            opcServer = new OPCServer();
            var OPCName = "MIR.OPCServerOm3";

            opcServer.Guid = OpcDaClient.GetServerGuid(OPCName);
            //if (!offline)
            if (OpcDaClient.GetServerGuid(OPCName).ToString() == "00000000-0000-0000-0000-000000000000")
            {
                //MessageBox.Show("Не могу найти указанный сервер");
                //this.Close();
                //Application.ExitThread();
                //Application.Exit();
                offline = true;
            }
            LoadPrefs();
            if (!offline)
            {
                OPCInit();
            }
        }
Exemplo n.º 4
0
        public static void TestOPC()
        {
            OpcDaClient oPC = new OpcDaClient("Kepware.KepServerEX.V6");

            oPC.Start();
            //oPC.TestOPCALL();
        }