private void btnOK_Click(object sender, EventArgs e) { if (rbAddress.Text == null || rbAddress.Text == "") { return; } NeedSendOutBuffer = new List <Byte[]>(); try { String[] arrDeviceLists = rbAddress.Lines; Byte bLineId = 0; foreach (String sTmp in arrDeviceLists) { if (sTmp != null && sTmp != "") { String[] sAddressList = sTmp.Split(' '); Byte[] bAddressList = new Byte[3]; Byte bTmpIndex = 0; foreach (String sTmpAddress in sAddressList) { if (sTmpAddress != "") { bAddressList[bTmpIndex] = Convert.ToByte(sTmpAddress); } bTmpIndex++; } Byte[] arrTmpSendBuffer = new Byte[] { 0x24, 01, 01, 00, 01, 0xE5, 0x49, 01, 0xFE, 01, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 01, 02, 0, 0 }; switch (bLineId) { case 0: arrTmpSendBuffer[1] = bAddressList[0]; arrTmpSendBuffer[2] = bAddressList[1]; arrTmpSendBuffer[31] = 1; arrTmpSendBuffer[32] = 0; arrTmpSendBuffer[33] = bAddressList[2]; break; case 1: arrTmpSendBuffer[1] = bAddressList[0]; arrTmpSendBuffer[2] = bAddressList[1]; arrTmpSendBuffer[31] = 1; arrTmpSendBuffer[32] = 1; arrTmpSendBuffer[33] = bAddressList[2]; break; case 2: arrTmpSendBuffer[1] = bAddressList[0]; arrTmpSendBuffer[2] = bAddressList[1]; arrTmpSendBuffer[31] = 2; arrTmpSendBuffer[32] = 2; arrTmpSendBuffer[33] = bAddressList[2]; break; case 3: arrTmpSendBuffer[1] = bAddressList[0]; arrTmpSendBuffer[2] = bAddressList[1]; arrTmpSendBuffer[31] = 4; arrTmpSendBuffer[32] = 1; arrTmpSendBuffer[33] = bAddressList[2]; break; case 4: arrTmpSendBuffer[1] = bAddressList[0]; arrTmpSendBuffer[2] = bAddressList[1]; arrTmpSendBuffer[31] = 7; arrTmpSendBuffer[32] = 0; arrTmpSendBuffer[33] = bAddressList[2]; break; } int iTmpPackCrc = HDLUDP.Pack_crc(arrTmpSendBuffer, 34); Byte[] PacketHead = new Byte[16 + 34 + 2]; PacketHead[0] = byte.Parse(CsConst.myLocalIP.Split('.')[0].ToString()); PacketHead[1] = byte.Parse(CsConst.myLocalIP.Split('.')[1].ToString()); PacketHead[2] = byte.Parse(CsConst.myLocalIP.Split('.')[2].ToString()); PacketHead[3] = byte.Parse(CsConst.myLocalIP.Split('.')[3].ToString()); byte[] Signal = System.Text.ASCIIEncoding.Default.GetBytes("HDLMIRACLE"); Array.Copy(Signal, 0, PacketHead, 4, 10); PacketHead[14] = 0xAA; PacketHead[15] = 0xAA; arrTmpSendBuffer.CopyTo(PacketHead, 16); // PacketHead[50] = (Byte)(iTmpPackCrc / 256); // PacketHead[51] = (Byte)(iTmpPackCrc % 256); NeedSendOutBuffer.Add(PacketHead); } bLineId++; } CsConst.bStartSimpleTesting = true; timer1.Enabled = true; } catch { } }