/// <summary> /// 요청 패킷을 생성하여 보냄 /// </summary> /// <param name="targetDevId"></param> /// <param name="cmd"></param> public void RequestRTUByDevCmd(_DevId targetDevId, _opCode cmd) { //!< 도어 상태정보 31 //!< 온습도 32, 온도 31 //!< 조도 31 //!< 마이크 31 //!< 스피커 상태정보 31, 볼륨 설정 30/해제 31 //!< 뮤트 상태정보 31, 설정 30/해제 31 //!< 팬 수량 31, 상태 //!< 팬 제어 동작 제어, 자동모드 설정 30/해제 31, 개별 끔 30, 켬 31 수량만큼 //!< 히터 전원상태, 전원동작 설정 및 제어 자동/수동 ?? 헷갈림 //!< LCD 전원상태, 전원제어 //!< LED 전원상태, 전원제어 //!< AC 전원 리셋, 예약제어(4byte 시간값이 이해가 안됨) //!< 전체장치 전원제어 수량정보, 전체장치 전원상태 정보, 전체장치 전원제어 //!< 초기값 파라미터 설정 32byte //!< 모뎀 리셋 //!< 충격센서 설정값 읽기, 설정 요청(3Byte) //!< 상태요청(단순 응답 확인) }
/// <summary> /// 단순한 ACK 처리 /// </summary> /// <param name="code"></param> /// <param name="dev"></param> private void ReplyEventACK(_opCode code, _DevId dev, bool bACK) { try { byte[] sendBytes = new byte[8]; byte[] headBytes = new byte[] { 0x02, 0xFD, (byte)dev, 0x11, 0xAA, 0x00 }; byte[] tailBytes = new byte[] { 0x00, 0x03 }; byte chk = GetChecksum(ref headBytes); tailBytes[0] = chk; headBytes.CopyTo(sendBytes, 0); tailBytes.CopyTo(sendBytes, 6); SendCommand(sendBytes); } catch (Exception) { //throw; } }
/// <summary> /// RTU로부터의 요청에 대한 응답 /// </summary> /// <param name="reqDevId"></param> /// <param name="cmd"></param> private void ReplyRTURequest(_DevId reqDevId, _opCode cmd) { //!< 시간요청 값이 이해가 안됨 }