Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 2
0
 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);
     }
 }