public void Connect() { try { //EthSystemDiscoverer.SystemInfo eth_system_info = MasterCamera as EthSystemDiscoverer.SystemInfo; //EthSystemConnector conn = new EthSystemConnector(eth_system_info.IPAddress, eth_system_info.Port); EthSystemConnector conn = new EthSystemConnector(IPAddress); conn.UserName = User; conn.Password = Password; _connector = conn; _system = new DataManSystem(_connector); _system.DefaultTimeout = 5000; #region Subscribe to events that are signalled when the system is connected / disconnected. _system.SystemConnected += new SystemConnectedHandler(OnSystemConnected); _system.SystemDisconnected += new SystemDisconnectedHandler(OnSystemDisconnected); //_system.SystemWentOnline += new SystemWentOnlineHandler(OnSystemWentOnline); //_system.SystemWentOffline += new SystemWentOfflineHandler(OnSystemWentOffline); //_system.KeepAliveResponseMissed += new KeepAliveResponseMissedHandler(OnKeepAliveResponseMissed); //_system.BinaryDataTransferProgress += new BinaryDataTransferProgressHandler(OnBinaryDataTransferProgress); //_system.OffProtocolByteReceived += new OffProtocolByteReceivedHandler(OffProtocolByteReceived); //_system.AutomaticResponseArrived += new AutomaticResponseArrivedHandler(AutomaticResponseArrived); #endregion #region Subscribe to events that are signalled when the device sends auto-responses. ResultTypes requested_result_types = ResultTypes.ReadXml | ResultTypes.Image | ResultTypes.ImageGraphics; //ResultTypes requested_result_types = ResultTypes.ReadXml; _results = new ResultCollector(_system, requested_result_types); _results.ComplexResultCompleted += Results_ComplexResultCompleted; //_results.SimpleResultDropped += Results_SimpleResultDropped; #endregion //_system.SetKeepAliveOptions(cbEnableKeepAlive.Checked, 3000, 1000); _system.Connect(); try { _system.SetResultTypes(requested_result_types); } catch { } } catch { CleanupConnection(); } }
private void CleanupConnection() { if (null != _system) { _system.SystemConnected -= OnSystemConnected; _system.SystemDisconnected -= OnSystemDisconnected; _system.ReadStringArrived -= OnReadStringArrived; _system.ImageArrived -= OnImageArrived; _system.ImageGraphicsArrived -= OnImageGraphicsArrived; } _connector = null; _system = null; }
private void CleanupConnection() { if (null != _system) { _system.SystemConnected -= OnSystemConnected; _system.SystemDisconnected -= OnSystemDisconnected; _system.SystemWentOnline -= OnSystemWentOnline; _system.SystemWentOffline -= OnSystemWentOffline; _system.KeepAliveResponseMissed -= OnKeepAliveResponseMissed; _system.BinaryDataTransferProgress -= OnBinaryDataTransferProgress; _system.OffProtocolByteReceived -= OffProtocolByteReceived; _system.AutomaticResponseArrived -= AutomaticResponseArrived; } _connector = null; _system = null; }
private void btnConnect_Click(object sender, EventArgs e) { if (listBoxDetectedSystems.SelectedIndex == -1 || listBoxDetectedSystems.SelectedIndex >= listBoxDetectedSystems.Items.Count) { return; } btnConnect.Enabled = false; _autoconnect = false; try { var system_info = listBoxDetectedSystems.Items[listBoxDetectedSystems.SelectedIndex]; if (system_info is EthSystemDiscoverer.SystemInfo) { EthSystemDiscoverer.SystemInfo eth_system_info = system_info as EthSystemDiscoverer.SystemInfo; EthSystemConnector conn = new EthSystemConnector(eth_system_info.IPAddress, eth_system_info.Port) { UserName = "******", Password = txtPassword.Text }; _connector = conn; } else if (system_info is SerSystemDiscoverer.SystemInfo) { SerSystemDiscoverer.SystemInfo ser_system_info = system_info as SerSystemDiscoverer.SystemInfo; SerSystemConnector conn = new SerSystemConnector(ser_system_info.PortName, ser_system_info.Baudrate); _connector = conn; } _logger.Enabled = cbLoggingEnabled.Checked; _connector.Logger = _logger; _system = new DataManSystem(_connector) { DefaultTimeout = 5000 }; // Subscribe to events that are signalled when the system is connected / disconnected. _system.SystemConnected += new SystemConnectedHandler(OnSystemConnected); _system.SystemDisconnected += new SystemDisconnectedHandler(OnSystemDisconnected); _system.SystemWentOnline += new SystemWentOnlineHandler(OnSystemWentOnline); _system.SystemWentOffline += new SystemWentOfflineHandler(OnSystemWentOffline); _system.KeepAliveResponseMissed += new KeepAliveResponseMissedHandler(OnKeepAliveResponseMissed); _system.BinaryDataTransferProgress += new BinaryDataTransferProgressHandler(OnBinaryDataTransferProgress); _system.OffProtocolByteReceived += new OffProtocolByteReceivedHandler(OffProtocolByteReceived); _system.AutomaticResponseArrived += new AutomaticResponseArrivedHandler(AutomaticResponseArrived); // Subscribe to events that are signalled when the device sends auto-responses. ResultTypes requested_result_types = ResultTypes.ReadXml | ResultTypes.Image | ResultTypes.ImageGraphics; _results = new ResultCollector(_system, requested_result_types); _results.ComplexResultCompleted += Results_ComplexResultCompleted; _results.SimpleResultDropped += Results_SimpleResultDropped; _system.SetKeepAliveOptions(cbEnableKeepAlive.Checked, 3000, 1000); _system.Connect(1000); try { _system.SetResultTypes(requested_result_types); } catch { } } catch (Exception ex) { CleanupConnection(); AddListItem("Failed to connect: " + ex.ToString()); } _autoconnect = true; RefreshGui(); }
private void btnConnect_Click(object sender, EventArgs e) { btnConnect.Enabled = false; try { if (listBoxDetectedSystems.SelectedIndex != -1 && listBoxDetectedSystems.Items.Count > listBoxDetectedSystems.SelectedIndex) { var system_info = listBoxDetectedSystems.Items[listBoxDetectedSystems.SelectedIndex]; if (system_info is EthSystemDiscoverer.SystemInfo) { EthSystemDiscoverer.SystemInfo eth_system_info = system_info as EthSystemDiscoverer.SystemInfo; EthSystemConnector conn = new EthSystemConnector(eth_system_info.IPAddress); conn.UserName = "******"; conn.Password = txtPassword.Text; _connector = conn; } else if (system_info is SerSystemDiscoverer.SystemInfo) { SerSystemDiscoverer.SystemInfo ser_system_info = system_info as SerSystemDiscoverer.SystemInfo; SerSystemConnector conn = new SerSystemConnector(ser_system_info.PortName, ser_system_info.Baudrate); _connector = conn; } } _connector.Logger = new GuiLogger(tbLog, cbLoggingEnabled.Checked, ref _closing); _system = new DataManSystem(_connector); _system.DefaultTimeout = 5000; // Subscribe to events that are signalled when the system is connected / disconnected. _system.SystemConnected += new SystemConnectedHandler(OnSystemConnected); _system.SystemDisconnected += new SystemDisconnectedHandler(OnSystemDisconnected); _system.SystemWentOnline += new SystemWentOnlineHandler(OnSystemWentOnline); _system.SystemWentOffline += new SystemWentOfflineHandler(OnSystemWentOffline); // Subscribe to events that are signalled when the deveice sends auto-responses. _system.ReadStringArrived += new ReadStringArrivedHandler(OnReadStringArrived); _system.XmlResultArrived += new XmlResultArrivedHandler(OnXmlResultArrived); _system.ImageArrived += new ImageArrivedHandler(OnImageArrived); _system.ImageGraphicsArrived += new ImageGraphicsArrivedHandler(OnImageGraphicsArrived); _system.BinaryDataTransferProgress += new BinaryDataTransferProgressHandler(OnBinaryDataTransferProgress); _system.SetKeepAliveOptions(cbEnableKeepAlive.Checked, 3000, 1000); _system.Connect(); } catch (Exception ex) { CleanupConnection(); AddListItem("Failed to connect: " + ex.ToString()); btnConnect.Enabled = true; } _autoconnect = true; }