/// <summary> /// IO출력 /// </summary> /// <param name="_iNo">IO번호</param> /// <param name="_bOn">true=ON , false=OFF</param> /// <returns>성공여부</returns> public bool SetOut(int _iNo, bool _bOn, bool _bDirect = false) { //Check Error. if (_iNo >= m_iMaxOut || _iNo < 0) { return(false); } //Get Addr. int iBitAddr; int iModule; int iModuleDp; GetInfoOutput(_iNo, out iModule, out iModuleDp, out iBitAddr); //OutPut if (_bDirect) { int iOn = _bOn ? 1 : 0; Cmmsdk.cmmDoPutOne(_iNo, iOn); return(true); } else//여기 꼭 확인해야함. 안될 가능성이 99.999999999%임 { int iOn = 0; if (_bOn) { m_aModuleInfo.iDataOutSet |= (((iOn >> iBitAddr) | 0x01) << iBitAddr); } else { m_aModuleInfo.iDataOutSet &= ~(((iOn >> iBitAddr) | 0x01) << iBitAddr); } return(true); } }