/* * public void Update() * { * //NMC2.nmc_GetMDIOOutput(m_nDevId, ReadStatOut); * //NMC2.nmc_GetMDIOInput (m_nDevId, ReadStatIn ); * for(int i=0; i < m_iModuleCnt; i++) * { * NMC2.nmc_SetDIOOutPins(m_aModuleInfo[i].nNmcNo, (short)m_aModuleInfo[i].nDataOutSet.Length , m_aModuleInfo[i].nDataOutNo, m_aModuleInfo[i].nDataOutSet); * * //short s = m_aModuleInfo[i].nDataOutSet[0] ; * //NMC2.nmc_SetDIOOutPin(m_aModuleInfo[i].nNmcNo , 0 , s); * * //NMC2.nmc_GetDIOOutput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet); * //NMC2.nmc_GetDIOInput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn ); * NMC2.nmc_GetDIOOutput128 (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet); * NMC2.nmc_GetDIOInput128 (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn ); * * * } * * * * } */ public void Update() { //NMC2.nmc_GetMDIOOutput(m_nDevId, ReadStatOut); //NMC2.nmc_GetMDIOInput (m_nDevId, ReadStatIn ); bool bDisconnected = false; for (int i = 0; i < m_iModuleCnt; i++) { if (NMC2.nmc_SetDIOOutPins(m_aModuleInfo[i].nNmcNo, (short)m_aModuleInfo[i].nDataOutSet.Length, m_aModuleInfo[i].nDataOutNo, m_aModuleInfo[i].nDataOutSet) == NMC2.NMC_NOTCONNECT) { bDisconnected = true; } //short s = m_aModuleInfo[i].nDataOutSet[0] ; //NMC2.nmc_SetDIOOutPin(m_aModuleInfo[i].nNmcNo , 0 , s); //NMC2.nmc_GetDIOOutput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet); //NMC2.nmc_GetDIOInput (m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn ); if (NMC2.nmc_GetDIOOutput128(m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataOutGet) == NMC2.NMC_NOTCONNECT) { bDisconnected = true; } if (NMC2.nmc_GetDIOInput128(m_aModuleInfo[i].nNmcNo, m_aModuleInfo[i].nDataIn) == NMC2.NMC_NOTCONNECT) { bDisconnected = true; } } //이건 아예 첨부터 장비 파워 안들어갔을때. 중간에 장비 전원 껐다켰을때. if (m_iModuleCnt == 0 || bDisconnected) { short[] nIp = new short[] { 192, 168, 0, 255 }; // 192.168.0.XXX로 되는 모든 주소로 장치 검색 int nCount = NMC2.nmc_GetEnumList(nIp, out NMC2.NMCEQUIPLIST NmcEquipList); if (nCount != 0) { Init(); } } }