private void btnRefresh_Click(object sender, EventArgs e) { SplashScreenManager.ShowForm(typeof(WaitFormEx)); SplashScreenManager.Default.SetWaitFormDescription("Происходит поиск OPC-серверов."); OpcServers[] opcServers = new OpcServers[0]; try { opcServers = OpcServerList.ListAllEx(textServer.Text); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, ex.Source); } OpcServerDefs.Clear(); for (int i = 0; i < (opcServers.Length); i++) { OpcServerDefs.Add(new OpcServerDef(opcServers[i])); } gridProgID.RefreshDataSource(); stlInfo.Caption = string.Format("Всего: {0}", OpcServerDefs.Count); SplashScreenManager.CloseForm(); }
static void Main() { Console.WriteLine("OPC Data Access 1.0"); foreach (var server in OpcServerList.ListAll(OpcServerList.OpcDataAccess10)) { Console.WriteLine("'{0}' ID={1} [{2}]", server.Name, server.ProgID, server.ClsID); } Console.WriteLine("OPC Data Access 2.0"); foreach (var server in OpcServerList.ListAllData20()) { Console.WriteLine("'{0}' ID={1} [{2}]", server.Name, server.ProgID, server.ClsID); } Console.WriteLine("OPC Data Access 3.0"); foreach (var server in OpcServerList.ListAll(OpcServerList.OpcDataAccess30)) { Console.WriteLine("'{0}' ID={1} [{2}]", server.Name, server.ProgID, server.ClsID); } Console.WriteLine("OPC XML Data Access"); foreach (var server in OpcServerList.ListAll(OpcServerList.OpcDataAccessXML)) { Console.WriteLine("'{0}' ID={1} [{2}]", server.Name, server.ProgID, server.ClsID); } }
public void ListAllServers() { OpcDaSrvList.Items.Clear(); OpcServerList lst = new OpcServerList(); OpcServers[] svs = null; try { lst.ListAllData20(out svs); } catch (COMException) { MessageBox.Show(this, "Enum OPC servers failed!", "Select Server", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (svs == null) { return; } string[] itemstrings = new string[3]; foreach (OpcServers l in svs) { itemstrings[0] = l.ServerName; itemstrings[1] = l.ProgID; itemstrings[2] = l.ClsID.ToString(); OpcDaSrvList.Items.Add(new ListViewItem(itemstrings)); } // preselect top item in ListView OpcDaSrvList.Items[0].Selected = true; }
public List <OpcServerDescription> GetListAllServers() { List <OpcServerDescription> result = new List <OpcServerDescription>(); OpcServerList lst = new OpcServerList(); OpcServers[] svs = null; lst.ListAllData20(out svs); if (svs == null) { return(result); } string[] itemstrings = new string[3]; foreach (OpcServers l in svs) { itemstrings[0] = l.ServerName; itemstrings[1] = l.ProgID; itemstrings[2] = l.ClsID.ToString(); result.Add(new OpcServerDescription { ServerName = l.ServerName, ProgId = l.ProgID, ClsId = l.ClsID }); } return(result); }
public OpcServerBrowserForm() { InitializeComponent(); OpcServerDefs = new Collection <OpcServerDef>(); OpcServerList = new OpcServerList(); gridProgID.DataSource = OpcServerDefs; }
private static void ListAllServers(Guid catid) { try { foreach (var server in OpcServerList.ListAll(catid)) { Console.WriteLine(" '{0}' ID={1} [{2}]", server.Name, server.ProgID, server.ClsID); } } catch (Exception ex) { Console.WriteLine(" *** ERROR *** {0}", ex.Message); } }
public OpcServerListEnumerator(object enumerator) { _opcServerList = new OpcServerList(enumerator); }
/// <summary> /// Возвращает список зарегистрированных в систмеме OPC DA серверов /// </summary> /// <returns></returns> public static OpcDaServer[] GetRegistredServers() { List<OpcDaServer> list = new List<OpcDaServer>(); // Создаём объект списка OPC серверов OpcServerList pServerList = new OpcServerList(); // Идентификатор категории OPC DA 2.0 Guid clsidcat = new Guid("{63D5F432-CFE4-11D1-B2C8-0060083BA1FB}"); // перечислитель, в котором будут храниться GUID серверов IOPCEnumGUID pIOPCEnumGuid; // запрос по группе серверов спецификации OPC DA 2.0 try { pServerList.EnumClassesOfCategories(1, ref clsidcat, 0, ref clsidcat, out pIOPCEnumGuid); string pszProgID; // буфер для записи ProgID серверов string pszUserType; // буфер для записи описания серверов string pszVerIndProgId; Guid guid = new Guid(); //int nServerCnt = 0; uint iRetSvr; // количество серверов, предоставленных запросом // Получение идентификаторов серверов pIOPCEnumGuid.Next(1, out guid, out iRetSvr); while (iRetSvr != 0) { //nServerCnt++; pServerList.GetClassDetails(ref guid, out pszProgID, out pszUserType, out pszVerIndProgId); list.Add(new OpcDaServer { Id = guid, ServerName = pszProgID }); pIOPCEnumGuid.Next(1, out guid, out iRetSvr); } } catch { } return list.ToArray(); }