public String get(String ipname, int trials, int pause) { String retval = "***"; System.Net.IPAddress ipaddress = System.Net.IPAddress.Parse(ipname); EthSystemConnector conn = new EthSystemConnector(ipaddress); conn.UserName = "******"; DataManSystem dataman = new DataManSystem(conn); int counter = 0; Boolean found = false; while ((found == false) && (counter < trials)) { try { dataman.Connect(); DmccResponse response = dataman.SendCommand("GET RESULT"); retval = response.PayLoad; found = true; } catch (Exception) { System.Threading.Thread.Sleep(pause * 1000); } finally { dataman.Disconnect(); counter++; } } return(retval); }
public void Connect() { EthSystemConnector connection = new EthSystemConnector(System.Net.IPAddress.Parse(this.IPAddress)) { UserName = "******", Password = "", }; this.Sensor = new DataManSystem(connection); this.Sensor.DefaultTimeout = 5000; this.Sensor.SetKeepAliveOptions(true, 3000, 1000); ResultTypes requestedResults = ResultTypes.ReadXml | ResultTypes.Image | ResultTypes.ImageGraphics; this.Collector = new ResultCollector(this.Sensor, requestedResults); this.Collector.ComplexResultArrived += M_DatamanResultCollector_ComplexResultArrived; this.Sensor.Connect(); try { this.Sensor.SetResultTypes(requestedResults); } catch { } }
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 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; }
private void Initialize() { IPAddress ipaddress = null; if (IPAddress.TryParse(IP, out ipaddress)) _conn = new EthSystemConnector(ipaddress, Port); else { _conn = new EthSystemConnector(IPAddress.Parse("0.0.0.0"), Port); Logging(LogLevel.Error, String.Format("Device|{0}|{1}:{2}|IP address invalid cannot initialize device", DeviceType, IP, Port)); } _system = new DataManSystem(_conn); _resultCollector = new ResultCollector(_system, _resultTypes); _resultCollector.ComplexResultArrived += onDataArrived; _system.SetKeepAliveOptions(true, 3000, 1000); _system.DefaultTimeout = 1000; _system.SetResultTypes(_resultTypes); _system.SystemConnected += new SystemConnectedHandler(OnSystemConnected); _system.SystemDisconnected += new SystemDisconnectedHandler(OnSystemDisconnected); }
private void CreateSystem(object system_info) { bool searchOk = false; ISystemConnector connector = null; string systemName = ""; if (system_info is EthSystemDiscoverer.SystemInfo) { EthSystemDiscoverer.SystemInfo eth_system_info = system_info as EthSystemDiscoverer.SystemInfo; if (_systemList.ContainsKey(eth_system_info.Name)) { EthSystemConnector conn = new EthSystemConnector(eth_system_info.IPAddress); conn.UserName = "******"; conn.Password = ""; connector = conn; searchOk = true; systemName = eth_system_info.Name; } } else if (system_info is SerSystemDiscoverer.SystemInfo) { SerSystemDiscoverer.SystemInfo ser_system_info = system_info as SerSystemDiscoverer.SystemInfo; if (_systemList.ContainsKey(ser_system_info.Name)) { SerSystemConnector conn = new SerSystemConnector(ser_system_info.PortName, ser_system_info.Baudrate); connector = conn; searchOk = true; systemName = ser_system_info.Name; } } if (searchOk == false) return; var system = new DataManSystem(connector); 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.XmlResultArrived += new XmlResultArrivedHandler( delegate(object sender, XmlResultArrivedEventArgs args) { XmlDocument doc = new XmlDocument(); string read_string = ""; doc.LoadXml(args.XmlResult); foreach (XmlNode node2 in doc.DocumentElement.ChildNodes) { if (node2.Name.Equals("general")) { foreach (XmlNode node in node2.ChildNodes) { if (node.Name.Equals("full_string")) { read_string = node.InnerText; foreach (XmlAttribute att in node.Attributes) { if (att.Name.Equals("encoding") && att.InnerText.Equals("base64") && !String.IsNullOrEmpty(node.InnerText)) { byte[] code = Convert.FromBase64String(node.InnerText); read_string = System.Text.Encoding.Default.GetString(code, 0, code.Length); } } break; } } if (_readMethodList.ContainsKey(systemName)) { if (_readMethodList[systemName] != null) _readMethodList[systemName](read_string); } } } }); system.ImageArrived += delegate(object sender, ImageArrivedEventArgs args) { try { if (_arrivedImageMethodList.ContainsKey(systemName)) { if (_arrivedImageMethodList[systemName] != null) _arrivedImageMethodList[systemName](args.Image); } } catch (Exception imageArriveException) { System.Diagnostics.Trace.WriteLine(imageArriveException.Message); } }; system.Connect(); _systemList[systemName] = system; _discoveredCount++; if (_systemList.Count <= _discoveredCount) { _allDone.Set(); } }