private void btnACON_Click(object sender, EventArgs e) { try { if (comMon == null) { labStatus.Text = "请确定串口是否打开?"; labStatus.ForeColor = Color.Red; return; } if (txtAddr.Text == "") { labStatus.Text = "请输入设置地址号."; labStatus.ForeColor = Color.Red; return; } EOnOff onoff = EOnOff.OFF; if (btnACON.Text != "AC ON") { onoff = EOnOff.ON; } string er = string.Empty; int wAddr = System.Convert.ToInt16(txtAddr.Text); if (!comMon.RemoteACOnOff(wAddr, onoff, out er)) { labStatus.Text = "设置模块AC ON失败:" + er; labStatus.ForeColor = Color.Red; return; } if (btnACON.Text == "AC ON") { labStatus.Text = "成功设置AC ON."; labStatus.ForeColor = Color.Blue; btnACON.Text = "AC OFF"; } else { labStatus.Text = "成功设置AC OFF."; labStatus.ForeColor = Color.Blue; btnACON.Text = "AC ON"; } } catch (Exception) { throw; } }
/// <summary> /// 启动AC ON/AC OFF /// </summary> /// <param name="wAddr"></param> /// <param name="er"></param> /// <returns></returns> public bool RemoteACOnOff(int wAddr, EOnOff wOnOff, out string er) { er = string.Empty; try { string wCmd = string.Empty; string rData = string.Empty; string rVal = string.Empty; wCmd = wAddr.ToString("X2") + "01" + "0A" + "05" + ((int)wOnOff).ToString("X2"); wCmd = SOI + wCmd + CalCheckSum(wCmd) + EOI; int rLen = 0; if (!com.send(wCmd, rLen, out rData, out er, _TimeOut)) { return(false); } return(true); } catch (Exception e) { er = e.ToString(); return(false); } }
/// <summary> /// 启动AC ON/AC OFF /// </summary> /// <param name="wAddr"></param> /// <param name="er"></param> /// <returns></returns> public bool RemoteACOnOff(int wAddr, EOnOff wOnOff, out string er) { return(_devMon.RemoteACOnOff(wAddr, wOnOff, out er)); }