📄 form1.cs
字号:
if (sys_buf.Length >= 18)
{
data_length = sys_buf.Substring(12, 2);//有效数据长度
if (sys_buf.Substring(0, 8) == "FEFEFE68" && sys_buf.Length == Hex2Dec(data_length) * 2 + 18)
{
buf = sys_buf;
sys_buf = "";
show_buf = "";
flag = true;
}
if (flag)
{
command = buf.Substring(10, 2);
switch (command)
{
case "81":
data[0] = buf.Substring(14, 2);//A箱电流
data[1] = buf.Substring(16, 2);
data[2] = buf.Substring(18, 2);
data[3] = buf.Substring(20, 2);//A箱电压
data[4] = buf.Substring(22, 2);
data[5] = buf.Substring(24, 2);
data[6] = buf.Substring(26, 2);//A箱功率
data[7] = buf.Substring(28, 2);
data[8] = buf.Substring(30, 2);
data[9] = buf.Substring(32, 2);//B箱电流
data[10] = buf.Substring(34, 2);
data[11] = buf.Substring(36, 2);
data[12] = buf.Substring(38, 2);//B箱电压
data[13] = buf.Substring(40, 2);
data[14] = buf.Substring(42, 2);
data[15] = buf.Substring(44, 2);//B箱功率
data[16] = buf.Substring(46, 2);
data[17] = buf.Substring(48, 2);
data[18] = buf.Substring(50, 2);//C箱电流
data[19] = buf.Substring(52, 2);
data[20] = buf.Substring(54, 2);
data[21] = buf.Substring(56, 2);//C箱电压
data[22] = buf.Substring(58, 2);
data[23] = buf.Substring(60, 2);
data[24] = buf.Substring(62, 2);//C箱功率
data[25] = buf.Substring(64, 2);
data[26] = buf.Substring(66, 2);
//data[8]="80";
int iData = Hex2Dec(data[8]);
double iP;
bool bS = Convert.ToBoolean(iData >> 7);
out_I1 = (Hex2Dec(data[2]) * 256 * 256 + Hex2Dec(data[1]) * 256 + Hex2Dec(data[0]));
out_V1 = (Hex2Dec(data[5]) * 256 * 256 + Hex2Dec(data[4]) * 256 + Hex2Dec(data[3]));
out_E1 = (Hex2Dec(data[8]) * 256 * 256 + Hex2Dec(data[7]) * 256 + Hex2Dec(data[6]));//A相功率
if(bS)
out_E1 -= 0x01000000L;
out_I2 = (Hex2Dec(data[11]) * 256 * 256 + Hex2Dec(data[10]) * 256 + Hex2Dec(data[9]));
out_V2 = (Hex2Dec(data[14]) * 256 * 256 + Hex2Dec(data[13]) * 256 + Hex2Dec(data[12]));
out_E2 = (Hex2Dec(data[17]) * 256 * 256 + Hex2Dec(data[16]) * 256 + Hex2Dec(data[15]));
iData = Hex2Dec(data[17]);
bS = Convert.ToBoolean (iData>>7);
if (bS)
out_E2 -= 0x01000000L;
out_I3 = (Hex2Dec(data[20]) * 256 * 256 + Hex2Dec(data[19]) * 256 + Hex2Dec(data[18]));
out_V3 = (Hex2Dec(data[23]) * 256 * 256 + Hex2Dec(data[22]) * 256 + Hex2Dec(data[21]));
out_E3 = (Hex2Dec(data[26]) * 256 * 256 + Hex2Dec(data[25]) * 256 + Hex2Dec(data[24]));
iData = Hex2Dec(data[26]);
bS = Convert.ToBoolean(iData >> 7);
if (bS)
out_E3 -= 0x01000000L;
this.txtAIY.Text = out_I1.ToString();
this.txtAVY.Text = out_V1.ToString();
this.txtAWY.Text = out_E1.ToString();
this.txtBIY.Text = out_I2.ToString();
this.txtBVY.Text = out_V2.ToString();
this.txtBWY.Text = out_E2.ToString();
this.txtCIY.Text = out_I3.ToString();
this.txtCVY.Text = out_V3.ToString();
this.txtCWY.Text = out_E3.ToString();
this.txtAIC.Text = Convert.ToString(Math.Round(((out_I1 - Convert.ToDouble(this.txtAIL.Text) * Convert.ToDouble(this.txtAIX.Text)/10E+12)*5),0));
this.txtAVC.Text = Convert.ToString(Math.Round(((out_V1 - Convert.ToDouble(this.txtAVL.Text) * Convert.ToDouble(this.txtAVX.Text) / 10E+12) * 220), 0));
this.txtAWC.Text = Convert.ToString(Math.Round(((out_E1 - Convert.ToDouble(this.txtAWL.Text) * Convert.ToDouble(this.txtAWX.Text) / 10E+12) * 5), 0));
this.txtBIC.Text = Convert.ToString(Math.Round(((out_I2 - Convert.ToDouble(this.txtBIL.Text) * Convert.ToDouble(this.txtBIX.Text) / 10E+12) * 5), 0));
this.txtBVC.Text = Convert.ToString(Math.Round(((out_V2 - Convert.ToDouble(this.txtBVL.Text) * Convert.ToDouble(this.txtBVX.Text) / 10E+12) * 220), 0));
this.txtBWC.Text = Convert.ToString(Math.Round(((out_E2 - Convert.ToDouble(this.txtBWL.Text) * Convert.ToDouble(this.txtBWX.Text) / 10E+12) * 5), 0));
this.txtCIC.Text = Convert.ToString(Math.Round(((out_I3 - Convert.ToDouble(this.txtCIL.Text) * Convert.ToDouble(this.txtCIX.Text) / 10E+12) * 5), 0));
this.txtCVC.Text = Convert.ToString(Math.Round(((out_V3 - Convert.ToDouble(this.txtCVL.Text) * Convert.ToDouble(this.txtCVX.Text) / 10E+12) * 220), 0));
this.txtCWC.Text = Convert.ToString(Math.Round(((out_E3 - Convert.ToDouble(this.txtCWL.Text) * Convert.ToDouble(this.txtCWX.Text) / 10E+12) * 5), 0));
break;
case "A1"://读系数和零偏
data[0] = buf.Substring(14, 2);//A箱电流系数
data[1] = buf.Substring(16, 2);
data[2] = buf.Substring(18, 2);
data[3] = buf.Substring(20, 2);//A箱电压系数
data[4] = buf.Substring(22, 2);
data[5] = buf.Substring(24, 2);
data[6] = buf.Substring(26, 2);//A箱功率系数
data[7] = buf.Substring(28, 2);
data[8] = buf.Substring(30, 2);
data[9] = buf.Substring(32, 2);//A箱电流零偏
data[10] = buf.Substring(34, 2);
data[11] = buf.Substring(36, 2);
data[12] = buf.Substring(38, 2);//A箱电压零偏
data[13] = buf.Substring(40, 2);
data[14] = buf.Substring(42, 2);
data[15] = buf.Substring(44, 2);//A箱功率零偏
data[16] = buf.Substring(46, 2);
data[17] = buf.Substring(48, 2);
data[18] = buf.Substring(50, 2);//B箱电流系数
data[19] = buf.Substring(52, 2);
data[20] = buf.Substring(54, 2);
data[21] = buf.Substring(56, 2);//B箱电压系数
data[22] = buf.Substring(58, 2);
data[23] = buf.Substring(60, 2);
data[24] = buf.Substring(62, 2);//B箱功率系数
data[25] = buf.Substring(64, 2);
data[26] = buf.Substring(66, 2);
data[27] = buf.Substring(68, 2);//B箱电流零偏
data[28] = buf.Substring(70, 2);
data[29] = buf.Substring(72, 2);
data[30] = buf.Substring(74, 2);//B箱电压零偏
data[31] = buf.Substring(76, 2);
data[32] = buf.Substring(78, 2);
data[33] = buf.Substring(80, 2);//B箱功率零偏
data[34] = buf.Substring(82, 2);
data[35] = buf.Substring(84, 2);
data[36] = buf.Substring(86, 2);//C箱电流系数
data[37] = buf.Substring(88, 2);
data[38] = buf.Substring(90, 2);
data[39] = buf.Substring(92, 2);//C箱电压系数
data[40] = buf.Substring(94, 2);
data[41] = buf.Substring(96, 2);
data[42] = buf.Substring(98, 2);//C箱功率系数
data[43] = buf.Substring(100, 2);
data[44] = buf.Substring(102, 2);
data[45] = buf.Substring(104, 2);//C箱电流零偏
data[46] = buf.Substring(106, 2);
data[47] = buf.Substring(108, 2);
data[48] = buf.Substring(110, 2);//C箱电压零偏
data[49] = buf.Substring(112, 2);
data[50] = buf.Substring(114, 2);
data[51] = buf.Substring(116, 2);//C箱功率零偏
data[52] = buf.Substring(118, 2);
data[53] = buf.Substring(120, 2);
int iDataX = Hex2Dec(data[8]);
double iPX;
bool bSX = Convert.ToBoolean(iDataX >> 7);
out_IX1 = (Hex2Dec(data[2]) * 256 * 256 + Hex2Dec(data[1]) * 256 + Hex2Dec(data[0]));
out_VX1 = (Hex2Dec(data[5]) * 256 * 256 + Hex2Dec(data[4]) * 256 + Hex2Dec(data[3]));
out_EX1 = (Hex2Dec(data[8]) * 256 * 256 + Hex2Dec(data[7]) * 256 + Hex2Dec(data[6]));
iDataX = Hex2Dec(data[8]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EX1 -= 0x01000000L;
out_IL1 = (Hex2Dec(data[11]) * 256 * 256 + Hex2Dec(data[10]) * 256 + Hex2Dec(data[9]));
out_VL1 = (Hex2Dec(data[14]) * 256 * 256 + Hex2Dec(data[13]) * 256 + Hex2Dec(data[12]));
out_EL1 = (Hex2Dec(data[17]) * 256 * 256 + Hex2Dec(data[16]) * 256 + Hex2Dec(data[15]));
iDataX = Hex2Dec(data[17]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EL1 -= 0x01000000L;
out_IX2 = (Hex2Dec(data[20]) * 256 * 256 + Hex2Dec(data[19]) * 256 + Hex2Dec(data[18]));
out_VX2 = (Hex2Dec(data[23]) * 256 * 256 + Hex2Dec(data[22]) * 256 + Hex2Dec(data[21]));
out_EX2 = (Hex2Dec(data[26]) * 256 * 256 + Hex2Dec(data[25]) * 256 + Hex2Dec(data[24]));
iDataX = Hex2Dec(data[26]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EX2 -= 0x01000000L;
out_IL2 = (Hex2Dec(data[29]) * 256 * 256 + Hex2Dec(data[28]) * 256 + Hex2Dec(data[27]));
out_VL2 = (Hex2Dec(data[32]) * 256 * 256 + Hex2Dec(data[31]) * 256 + Hex2Dec(data[30]));
out_EL2 = (Hex2Dec(data[35]) * 256 * 256 + Hex2Dec(data[34]) * 256 + Hex2Dec(data[33]));
iDataX = Hex2Dec(data[35]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EL2 -= 0x01000000L;
out_IX3 = (Hex2Dec(data[38]) * 256 * 256 + Hex2Dec(data[37]) * 256 + Hex2Dec(data[36]));
out_VX3 = (Hex2Dec(data[41]) * 256 * 256 + Hex2Dec(data[40]) * 256 + Hex2Dec(data[39]));
out_EX3 = (Hex2Dec(data[44]) * 256 * 256 + Hex2Dec(data[43]) * 256 + Hex2Dec(data[42]));
iDataX = Hex2Dec(data[44]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EX3 -= 0x01000000L;
out_IL3 = (Hex2Dec(data[47]) * 256 * 256 + Hex2Dec(data[46]) * 256 + Hex2Dec(data[45]));
out_VL3 = (Hex2Dec(data[50]) * 256 * 256 + Hex2Dec(data[49]) * 256 + Hex2Dec(data[48]));
out_EL3 = (Hex2Dec(data[53]) * 256 * 256 + Hex2Dec(data[52]) * 256 + Hex2Dec(data[51]));
iDataX = Hex2Dec(data[53]);
bSX = Convert.ToBoolean(iDataX >> 7);
if (bSX)
out_EL3 -= 0x01000000L;
this.txtAIX.Text = out_IX1.ToString();
this.txtAVX.Text = out_VX1.ToString();
this.txtAWX.Text = out_EX1.ToString();
this.txtBIX.Text = out_IX2.ToString();
this.txtBVX.Text = out_VX2.ToString();
this.txtBWX.Text = out_EX2.ToString();
this.txtCIX.Text = out_IX3.ToString();
this.txtCVX.Text = out_VX3.ToString();
this.txtCWX.Text = out_EX3.ToString();
this.txtAIL.Text = out_IL1.ToString();
this.txtAVL.Text = out_VL1.ToString();
this.txtAWL.Text = out_EL1.ToString();
this.txtBIL.Text = out_IL2.ToString();
this.txtBVL.Text = out_VL2.ToString();
this.txtBWL.Text = out_EL2.ToString();
this.txtCIL.Text = out_IL3.ToString();
this.txtCVL.Text = out_VL3.ToString();
this.txtCWL.Text = out_EL3.ToString();
this.timer1.Enabled = true;
break;
}
}
}
}
private void btnwriteSet_Click(object sender, EventArgs e)
{
this.timer1.Enabled = false;
try
{
MycmdReadData = new byte[9];
MycmdReadData[0] = 0xFE;
MycmdReadData[1] = 0xFE;
MycmdReadData[2] = 0xFE;
MycmdReadData[3] = 0x68;
MycmdReadData[4] = 0x0A;
MycmdReadData[5] = 0x21;
MycmdReadData[6] = 0x00;
MycmdReadData[7] = (byte)(MycmdReadData[4] + MycmdReadData[5] + MycmdReadData[6]);//校验码,累加和
MycmdReadData[8] = 0x16;
PageNO = 0;
sys_buf = "";
show_buf = "";
//com.InBufferCount = 0;
com.Output = MycmdReadData;
}
catch
{
this.lblMsg.Text = "发送信号错误!";
}
}
private void btnSetX_MouseMove(object sender, MouseEventArgs e)
{
this.lblxs.Visible = true ;
}
private void btnSetL_MouseMove(object sender, MouseEventArgs e)
{
this.lbllp.Visible = true;
}
private void btnSetL_MouseLeave(object sender, EventArgs e)
{
this.lbllp.Visible = false;
}
private void btnSetX_MouseLeave(object sender, EventArgs e)
{
this.lblxs.Visible = false;
}
private void groupBox5_Enter(object sender, EventArgs e)
{
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -