public bool OperDevice(int Addr, OnOffRelay bOnOff, string area, DeviceRunModel runModel, bool blRecord, IsWait isWait) { bool isok = false; try { bool blRet = false; bytOperXF[0] = (byte)Addr; bytOperXF[1] = 0x05; bytOperXF[2] = 0x00; bytOperXF[4] = (byte)bOnOff; bytOperXF[5] = 0x00; ushort crc = crc16.CalculateCrc16(bytOperXF, 6); bytOperXF[7] = (byte)(crc); bytOperXF[6] = (byte)(crc >> 8); byte[] bRece = new byte[8]; int iReceLen = serial.SendReceByte(bytOperXF, ref bRece, 10, isWait); //txt 发送 接受 txtLog.TxtWriteByte("XF.txt", "OnOff Send", bytOperXF, false); if (iReceLen > 0) { txtLog.TxtWriteByte("XF.txt", "OnOff Rece", bRece, true); } if (iReceLen == 8 && bRece[0] == bytOperXF[0] && bRece[1] == bytOperXF[1] && bRece[2] == bytOperXF[2] && bRece[3] == bytOperXF[3] && bRece[4] == bytOperXF[4] && bRece[5] == bytOperXF[5] && bRece[6] == bytOperXF[6] && bRece[7] == bytOperXF[7]) { blRet = true; if (blRecord) { EventType eventType = EventType.新风; string strContent = bOnOff.ToString(); if (eventType != EventType.初值) { NewEventRecord(eventType, area, runModel, strContent); } } } return(blRet); } catch (Exception ex) { } return(isok); }