/// <summary> /// Refresh I/O modules of this controller and show controller information /// </summary> /// <param name="e"></param> private void AfterSelect_CouplerDevice(TreeNode e) { TreeNode adamNode; m_adamModbusSocket = new AdamSocket(adamType); m_adamModbusSocket.SetTimeout(m_iTimeout[0], m_iTimeout[1], m_iTimeout[2]); if (m_adamModbusSocket.Connect(m_szIP, protoType, portNum)) { if (m_adamModbusSocket.RefreshIOInfo()) { Thread waitThread = new Thread(ShowWaitMsg); waitThread.Start(); m_adamModbusSocket.Configuration().GetSlotInfo(out m_szSlotInfo); // treeView1.BeginUpdate(); e.Nodes.Clear(); for (int iCnt = 0; iCnt < m_szSlotInfo.Length; iCnt++) { if (m_szSlotInfo[iCnt] != null) { adamNode = new TreeNode(m_szSlotInfo[iCnt] + "(S" + iCnt.ToString() + ")"); adamNode.Tag = (byte)iCnt; e.Nodes.Add(adamNode); } } e.ExpandAll(); treeView1.EndUpdate(); m_adamModbusSocket.GetDSPFWVer(ref m_sDSPFWVer); m_adamModbusSocket.Disconnect(); } } else { MessageBox.Show("Connection error ( Err : " + m_adamModbusSocket.LastError.ToString() + " ). Please check the network setting.", "Error"); m_adamModbusSocket.Disconnect(); m_adamModbusSocket = null; return; } RefreshConfiguration(); m_adamModbusSocket = null; }