Example #1
0
 public 变频器报文(byte 设备地址, ushort 数据地址, ushort 数据)
 {
     crc = new CRC16();
     this.设备地址 = 设备地址;
     this.功能码 = 6;
     this.数据地址低位 = System.BitConverter.GetBytes(数据地址)[0];
     this.数据地址高位 = System.BitConverter.GetBytes(数据地址)[1];
     this.数据低位 = System.BitConverter.GetBytes(数据)[0];
     this.数据高位 = System.BitConverter.GetBytes(数据)[1];
     byte[] data = { this.设备地址, this.功能码, this.数据地址高位, this.数据地址低位, this.数据高位,this.数据低位 };
     ushort _data = crc.CalculateCrc16(data);
     this.CRC高位 = System.BitConverter.GetBytes(_data)[1];
     this.CRC低位 = System.BitConverter.GetBytes(_data)[0];
 }
Example #2
0
 /// <summary>
 /// 获得CRC16效验码
 /// </summary>
 /// <param name="strPar"></param>
 /// <returns></returns>
 public static string CalculateCrc16(string strPar)
 {
     string retStr = new CRC16().CalculateCrc16(System.Text.Encoding.Default.GetBytes(strPar)).ToString();
     while (retStr.Length < 5)
     {
         retStr = "0" + retStr;
     }
     return retStr;
 }