public AThrdClientSocketPlcSiemens(int nID, IntPtr hParent) { m_nID = nID; m_hParent = hParent; for (int i = 0; i < ASDef._MAX_PLC_DI; i++) { // 2015.02.25 //m_pnOldDI[i] = m_pnDI[i] = 0; m_pnDI[i] = 0; } for (int i = 0; i < ASDef._MAX_PLC_DO; i++) { m_pnOldDO[i] = m_pnDO[i] = 0; } m_bStop = false; LoadIni("ThrdClientSocketPlcSiemens" + m_nID.ToString(), ASDef._INI_FILE); m_AClientSocketPlcSiemensFetch = new AClientSocketPlcSiemens(m_nID, m_hParent); m_AClientSocketPlcSiemensFetch.LoadIni("ClientSocketPlcSiemensFetch" + m_nID.ToString()); m_AClientSocketPlcSiemensWrite = new AClientSocketPlcSiemens(m_nID, m_hParent); m_AClientSocketPlcSiemensWrite.LoadIni("ClientSocketPlcSiemensWrite" + m_nID.ToString()); }
// 2011.04.21 마cto /* * public void Reconnect() * { * Ping ping = new Ping(); * * if (ping.Send(m_AClientSocketPlcSiemensFetch.m_strIP).Status == IPStatus.Success) * { * m_AClientSocketPlcSiemensFetch = new AClientSocketPlcSiemens(m_nID, m_hParent); * m_AClientSocketPlcSiemensFetch.LoadIni("ClientSocketPlcSiemensFetch" + m_nID.ToString()); * m_AClientSocketPlcSiemensFetch.m_bMsg = false; * if (m_AClientSocketPlcSiemensFetch.Connect() == true) * { * * for (int i = 0; i < ASDef._MAX_PLC_DI; i++) * { * m_pnOldDI[i] = m_pnDI[i] = 0; * } * } * m_AClientSocketPlcSiemensWrite = new AClientSocketPlcSiemens(m_nID, m_hParent); * m_AClientSocketPlcSiemensWrite.LoadIni("ClientSocketPlcSiemensWrite" + m_nID.ToString()); * m_AClientSocketPlcSiemensWrite.m_bMsg = false; * if (m_AClientSocketPlcSiemensWrite.Connect() == true) * { * for (int i = 0; i < ASDef._MAX_PLC_DO; i++) * { * m_pnOldDO[i] = m_pnDO[i] = 0; * } * } * * AUtil.PostMessage(m_hParent, _WM_PLC_RECONNECT, Convert.ToInt16(m_AClientSocketPlcSiemensFetch.m_bConnect), 0); * * } * } */ public bool Reconnect() { // 2014.08.10 m_bReConnecting = true; Ping ping = new Ping(); // 2014.12.05 try { if (ping.Send(m_AClientSocketPlcSiemensFetch.m_strIP).Status == IPStatus.Success) { //m_Thrd.Suspend(); if (m_Thrd != null) { m_Thrd.Abort(); m_Thrd.Join(); } m_Thrd = null; // 2016.01.04 by kdi. m_bStop = false; m_AClientSocketPlcSiemensFetch.Close(); m_AClientSocketPlcSiemensFetch = null; m_AClientSocketPlcSiemensFetch = new AClientSocketPlcSiemens(m_nID, m_hParent); m_AClientSocketPlcSiemensFetch.LoadIni("ClientSocketPlcSiemensFetch" + m_nID.ToString()); if (m_AClientSocketPlcSiemensFetch.ConnectNoMessage() == true) { for (int i = 0; i < ASDef._MAX_PLC_DI; i++) { // 2015.02.25 //m_pnOldDI[i] = m_pnDI[i] = 0; m_pnDI[i] = 0; } m_AClientSocketPlcSiemensWrite.Close(); m_AClientSocketPlcSiemensWrite = null; m_AClientSocketPlcSiemensWrite = new AClientSocketPlcSiemens(m_nID, m_hParent); m_AClientSocketPlcSiemensWrite.LoadIni("ClientSocketPlcSiemensWrite" + m_nID.ToString()); if (m_AClientSocketPlcSiemensWrite.ConnectNoMessage() == true) { for (int i = 0; i < ASDef._MAX_PLC_DO; i++) { m_pnOldDO[i] = m_pnDO[i] = 0; } //m_Thrd.Resume(); m_Thrd = new Thread(new ThreadStart(Run)); m_Thrd.Start(); // 2014.08.10 m_bReConnecting = false; return(true); } } } } catch { } // 2014.08.10 m_bReConnecting = false; return(false); }