/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Comm_DataReceiveEvent(object sender, COMMEventArgs e) { string data = e.BackDataAsHex.Substring(0, e.BackDataAsHex.Length - 4); string crcdata = e.BackDataAsHex.Substring(e.BackDataAsHex.Length - 4, 4); if (crcdata == CRC.ToModbusCRC16(data)) { md.ReceiveData = data; md.Flag = true; } }
private void Com_DataReceiveEvent(object sender, COMMEventArgs e) { if (e.BackDataAsHex.Length == 16) { SimpleLogHelper.Instance.WriteLog(LogType.Info, "有数据请求:" + e.BackDataAsHex); //发送modbus var a = ini.ReadIni("Config", "Name").Split(','); string b = ""; foreach (var item in a) { b += ini.ReadIni("Config", item); } string length = (a.Length * 4).ToString("X2"); b = "0103" + length + b; b += CRC.ToModbusCRC16(b); SimpleLogHelper.Instance.WriteLog(LogType.Info, "返回的数据:" + b); CharacterConversion ch = new CharacterConversion(); byte[] c = ch.HexConvertToByte(b); com.Send(c); } }