private void button25_Click(object sender, EventArgs e)//复旦微:退出厂内模式 { string result = null; Protocol645 p645 = new Protocol645(); p645.FDWBroad("AA0F", "00", out result); }
/// <summary> /// 设参数 /// </summary> /// <param name="tbObj">要输入数据的文本框控件name</param> /// <param name="dataId"></param> private void SetParameter(object tbObj, string dataId) { if (!(tbObj is TextBox)) { return; } TextBox tb = (TextBox)tbObj; string strDate = tb.Text; if (strDate.Length != tb.MaxLength) { MessageBox.Show("数据长度过长或不足!"); return; } if (dataId == "04000101" || strDate.Length == 6)//如果是日期,则要判断星期 { strDate = Method.JustWeek(strDate); } if (!Protocol645.WriteData(dataId, strDate)) { tb.ForeColor = Color.Red; tb.Text = "Err"; } }
private void btnReadStatus3_Click(object sender, EventArgs e)//电表运行状态字3 { tbRunStatus3.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbRunStatus3, "04000503"); string str = tbRunStatus3.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("电表运行状态字3:"); list.Add("预跳闸报警状态\r\n(0无,1有)"); list.Add("继电器命令状态\r\n(0通,1断)"); list.Add("当前运行时区\r\n(0第一套,1第二套"); list.Add("继电器状态\r\n(0通,1断)"); list.Add("红外认证/编程\r\n允许状态\r\n(0失效,1有效)"); list.Add("供电方式"); list.Add("(00主电源\r\n01辅助电源\r\n10电池供电)"); list.Add("当前运行时段\r\n(0第一套,1第二套)"); list.Add("远程开户\r\n(0开户,1未开户)"); list.Add("本地开户\r\n(0开户,1未开户)"); list.Add("身份认证状态\r\n(0失效,1有效)"); list.Add("保电状态\r\n(0非保电,1保电)"); list.Add("保留"); list.Add("保留"); list.Add("电能表类型"); list.Add("(00非预付费\r\n01电量型预付费表\r\n10电费型预付费表)"); DrawGrid(str, list); } }
private void btnSdSet_Click(object sender, EventArgs e) { string sData = null; Protocol645 p645 = new Protocol645(); for (int i = 14; i > 0; i--) { TextBox tmpTextBox = this.gBSd.Controls.Find("txtSd" + i.ToString(), true)[0] as TextBox; sData += tmpTextBox.Text.Trim(); } if (rBtnSd1.Checked) { for (int i = 1; i < 9; i++) { if ((this.gBSd.Controls.Find("rBtnSd_" + i.ToString(), true)[0] as RadioButton).Checked) { p645.SetParameter("0401000" + i.ToString(), sData); } } } if (rBtnSd2.Checked) { for (int i = 1; i < 9; i++) { if ((this.gBSd.Controls.Find("rBtnSd_" + i.ToString(), true)[0] as RadioButton).Checked) { p645.SetParameter("0402000" + i.ToString(), sData); } } } }
private void btnReadStatus2_Click(object sender, EventArgs e)//电表运行状态字2 { tbRunStatus2.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbRunStatus2, "04000502"); string str = tbRunStatus2.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("电表运行状态字2:"); list.Add("保留"); list.Add("C相无功功率方向\r\n(0正向,1反向)"); list.Add("B相无功功率方向\r\n(0正向,1反向)"); list.Add("A相无功功率方向\r\n(0正向,1反向)"); list.Add("保留"); list.Add("C相有功功率方向\r\n(0正向,1反向)"); list.Add("B相有功功率方向\r\n(0正向,1反向)"); list.Add("A相有功功率方向\r\n(0正向,1反向)"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); DrawGrid(str, list); } }
private void btn插卡状态字_Click(object sender, EventArgs e) { tbCkztz.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbCkztz, "04001502"); string str = tbCkztz.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("插卡状态字:"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("插卡状态\r\n(00未知,01成功,10失败)"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); DrawGrid(str, list); } }
private void btnReadStatus6_Click(object sender, EventArgs e)//电表运行状态字6 { tbRunStatus6.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbRunStatus6, "04000506"); string str = tbRunStatus6.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("电表运行状态字6:\r\nC相故障状态"); list.Add("断相"); list.Add("潮流反向"); list.Add("过载"); list.Add("过流"); list.Add("失流"); list.Add("过压"); list.Add("欠压"); list.Add("失压"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("断流"); DrawGrid(str, list); } }
private void btnReadStatus7_Click(object sender, EventArgs e)//电表运行状态字7 { tbRunStatus7.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbRunStatus7, "04000507"); string str = tbRunStatus7.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("电表运行状态字7:\r\n合相故障状态"); list.Add("总功率因数\r\n超下限\r\n(0无故障,1故障)"); list.Add("需量超限"); list.Add("掉电"); list.Add("辅助电源失电"); list.Add("电流不平衡"); list.Add("电压不平衡"); list.Add("电流逆相序"); list.Add("电压逆相序"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("保留"); list.Add("开端钮盖\r\n(0无故障,1故障)"); list.Add("开表盖\r\n(0无故障,1故障)"); list.Add("电流严重不平衡\r\n(0无故障,1故障)"); DrawGrid(str, list); } }
private void btnRead_Click(object sender, EventArgs e) { dataId.Clear(); dataName.Clear(); dgvReadData.Rows.Clear(); foreach (TreeNode n in treeView1.Nodes) { GetChildNodeValue(n); } for (int i = 0; i < dataId.Count; i++) { dgvReadData.Rows.Add(); dgvReadData[dataid, i].Value = dataId[i].Substring(2); dgvReadData[dataname, i].Value = dataName[i]; if (!cbIsReadIdOnly.Checked) { string result = null; Protocol645 p645 = new Protocol645(); if (p645.ReadData(dataId[i].Substring(2), out result)) { dgvReadData[datavalue, i].Value = result; } } dgvReadData.Update(); } }
private void btnReadStatus1_Click(object sender, EventArgs e)//电表运行状态字1 { tbRunStatus1.Text = null; Protocol645 p645 = new Protocol645(); p645.ReadParameter(tbRunStatus1, "04000501"); string str = tbRunStatus1.Text; if (str.Length == 4) { List <string> list = new List <string>(); list.Add("电表运行状态字1:"); list.Add("保留"); list.Add("保留"); list.Add("无功功率方向\r\n(0正向,1反向)"); list.Add("有功功率方向\r\n(0正向,1反向)"); list.Add("停电抄表电池\r\n(0正常,1欠压)"); list.Add("时钟电池\r\n(0正常,1欠压)"); list.Add("需量积算方式\r\n(0滑差,1区间)"); list.Add("保留"); list.Add("时钟故障"); list.Add("透支状态"); list.Add("存储器故障\r\n或损坏"); list.Add("内部程序错误"); list.Add("保留"); list.Add("保留"); list.Add("ESAM错误"); list.Add("控制回路错误"); DrawGrid(str, list); } }
private void button3_Click(object sender, EventArgs e)//读电量并判断总电量-尖峰平谷的误差 { foreach (Control tb in this.gbEnergy.Controls) { if (tb is TextBox) { tb.Text = ""; } } string result = null; Protocol645 p645 = new Protocol645(); for (int i = 0; i < 5; i++) { if (p645.ReadData("00000" + i.ToString() + "00", out result)) { (this.gbEnergy.Controls.Find("tbEnergy" + i.ToString(), true))[0].Text = Convert.ToString(Convert.ToDouble(result) / 100); } } double sum = 0; sum = Convert.ToDouble(tbEnergy1.Text) + Convert.ToDouble(tbEnergy2.Text) + Convert.ToDouble(tbEnergy3.Text) + Convert.ToDouble(tbEnergy4.Text); tbEnergy5.Text = Convert.ToString(sum); tbEnergy6.Text = ((Convert.ToDouble(tbEnergy0.Text) - sum)).ToString("F4"); }
private void TextBoxInputEnterEvent(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { TextBox tbVal = new TextBox(); TextBox tbId = (TextBox)sender; Protocol645 p645 = new Protocol645(); if (tbId == textBox13) { tbVal = textBox12; } else if (tbId == textBox16) { tbVal = textBox17; } else if (tbId == textBox14) { tbVal = textBox15; } else if (tbId == textBox18) { tbVal = textBox19; } else { return; } p645.ReadParameter(tbVal, tbId.Text); } }
private void btnReadBlock_Click(object sender, EventArgs e) { tbBlockData.Text = ""; tbBlockData.Refresh(); byte ctl; string ret; byte seq = 1; string id = tbReadBlockID.Text; Protocol645 p645 = new Protocol645(); if (p645.ReadBlockData(id, out ctl, out ret)) { tbBlockData.AppendText("第" + seq.ToString() + "帧数据(" + ret.Length / 2 + "字节):\r\n"); tbBlockData.AppendText(ret + "\r\n---------------------------------\r\n"); if (ctl == 0xb1) { do { if (p645.ReadNextBlock(id, seq, out ctl, out ret)) { tbBlockData.AppendText("第" + (seq + 1).ToString() + "帧数据(" + ret.Length / 2 + "字节):\r\n"); tbBlockData.AppendText(ret + "\r\n---------------------------------\r\n"); seq++; } else { break; } } while (ctl == 0xb2); } } }
private void TongyongReadAndSet(object sender, EventArgs e) { Button btn = (Button)sender; TextBox tbVal = new TextBox(); TextBox tbId = new TextBox(); Protocol645 p645 = new Protocol645(); if (btn == button4 || btn == button9) { tbVal = textBox12; tbId = textBox13; } if (btn == button12 || btn == button13) { tbVal = textBox17; tbId = textBox16; } if (btn == button10 || btn == button11) { tbVal = textBox15; tbId = textBox14; } if (btn == button14 || btn == button15) { tbVal = textBox19; tbId = textBox18; } if (btn == button4 || btn == button12 || btn == button10 || btn == button14) { p645.ReadParameter(tbVal, tbId.Text); } else { p645.SetParameter(tbId.Text, tbVal.Text); } }
private void btnSqRead_Click(object sender, EventArgs e) { for (int i = 1; i < 15; i++) { TextBox tmpTextBox = this.Controls.Find("txtSq" + i.ToString(), true)[0] as TextBox; tmpTextBox.Text = ""; } Functions.Delay(10); string sqStr = null; Protocol645 p645 = new Protocol645(); if (rBtnSq1.Checked) { p645.ReadData("04010000", out sqStr); } if (rBtnSq2.Checked) { p645.ReadData("04020000", out sqStr); } if (sqStr.Length > 0) { for (int i = 0; i < sqStr.Length / 6; i++) { TextBox tmpTextBox = this.gBSq.Controls.Find("txtSq" + (i + 1).ToString(), true)[0] as TextBox; tmpTextBox.Text = sqStr.Substring(sqStr.Length - (i + 1) * 6, 6); } } }
private void button24_Click(object sender, EventArgs e)//复旦微:厂内模式使能命令 { string result = null; Protocol645 p645 = new Protocol645(); p645.FDWBroad("550F", "FF", out result); }
private void button21_Click(object sender, EventArgs e)//复旦微:电表初始化 { string result = null; Protocol645 p645 = new Protocol645(); p645.FDWBroad("1413", "8054", out result); }
private void btnKM三相表清EEPROM_Click(object sender, EventArgs e) { string strVol = (float.Parse(tbVol.Text) * 100).ToString().PadLeft(8, '0'); string strCurr = (float.Parse(tbCurr.Text) * 1000).ToString().PadLeft(8, '0'); string strMaxCurr = (float.Parse(tbMaxCurr.Text) * 1000).ToString().PadLeft(8, '0'); string strYouGongLevel = (float.Parse(tbYouGongLevel.Text) * 10).ToString().PadLeft(2, '0'); string strWuGongLevel = (float.Parse(tbWuGongLevel.Text) * 10).ToString().PadLeft(2, '0'); string strYouGongConst = tbYouGongConst.Text.PadLeft(8, '0'); string strWuGongConst = tbWuGongConst.Text.PadLeft(8, '0'); string strMeterModel = comboBoxMeterModel.SelectedIndex.ToString().PadLeft(2, '0'); string strProductDate = tbProductDate.Text.PadLeft(8, '0'); string strProtocalVer = comboBoxProtocalVer.SelectedIndex.ToString().PadLeft(2, '0'); Protocol645 p645 = new Protocol645(); if (p645.KM3PhaseClrEEP(strVol, strCurr, strMaxCurr, strYouGongLevel, strWuGongLevel, strYouGongConst, strWuGongConst, strMeterModel, strProductDate, strProtocalVer)) { MessageBox.Show("命令已发送!"); } else { MessageBox.Show("命令发送失败!"); } }
private void btnKMClrEEP_Click(object sender, EventArgs e) { string result = null; Protocol645 p645 = new Protocol645(); p645.KMClrEEP(out result); }
private void btnReadAndSet(object sender, EventArgs e)//大读写按钮 { Button btn = (Button)sender; foreach (Control ckb in this.splitContainer4.Panel2.Controls) { if (ckb is CheckBox) { if (((CheckBox)ckb).Checked) { object obj = this.splitContainer4.Panel2.Controls.Find("tb" + ckb.Name.Substring(2, 8), true)[0]; string dataId = ckb.Name.Substring(2, 8); Protocol645 p645 = new Protocol645(); if (btn == btnR) { p645.ReadParameter(obj, dataId); } if (btn == btnS) { p645.SetParameter(obj, dataId); } } } } }
private void _97IdReadSet(object sender, EventArgs e) { Button btn = (Button)sender; TextBox tbVal = new TextBox(); TextBox tbId = new TextBox(); string res = string.Empty; Protocol645 p645 = new Protocol645(); if (btn == btnRead1 || btn == btnSet1) { tbId = txtId1; tbVal = txtData1; } if (btn == btnRead2 || btn == btnSet2) { tbId = txtId2; tbVal = txtData2; } if (btn == btnRead1 || btn == btnRead2) { tbVal.Text = ""; Functions.Delay(10); p645.SF_ReadData(tbId.Text, out res); tbVal.Text = res; } if (btn == btnSet1 || btn == btnSet2) { if (!p645.SF_SetData(tbId.Text, tbVal.Text)) { //statusReturn.Text = ""; } } }
private void btn设显示内容_Click(object sender, EventArgs e) { Protocol645 p645 = new Protocol645(); if (rbDisplayAuto.Checked) { int displayautoNum = Convert.ToInt16(tbXunxianNum.Text); if (dgvDisplay.Rows.Count == displayautoNum) { //progressBar.Maximum = displayautoNum; //progressBar.Value = 0; for (int i = 0; i < displayautoNum; i++) { if (dgvDisplay[0, i].Value.ToString().Length == 8 && dgvDisplay[1, i].Value.ToString().Length == 2) { p645.SetParameter("040401" + (i + 1).ToString("X2"), dgvDisplay[1, i].Value.ToString() + dgvDisplay[0, i].Value.ToString()); //progressBar.Value++; } else { MessageBox.Show("输入数据长度错误,请检查!"); return; } } MessageBox.Show("设表完毕!"); } else { MessageBox.Show("表格内容与要设置的屏数不相符"); } } if (rbDisplayButton.Checked) { int displaybuttonNum = Convert.ToInt16(tbJianxianNum.Text); if (dgvDisplay.Rows.Count == displaybuttonNum) { //progressBar.Maximum = displaybuttonNum; //progressBar.Value = 0; for (int i = 0; i < displaybuttonNum; i++) { if (dgvDisplay[0, i].Value.ToString().Length == 8 && dgvDisplay[1, i].Value.ToString().Length == 2) { p645.SetParameter("040402" + (i + 1).ToString("X2"), dgvDisplay[1, i].Value.ToString() + dgvDisplay[0, i].Value.ToString()); //progressBar.Value++; } else { MessageBox.Show("输入数据长度错误,请检查!"); return; } } MessageBox.Show("设表完毕!"); } else { MessageBox.Show("表格内容与要设置的屏数不相符"); } } }
private void button23_Click(object sender, EventArgs e)//福建:设表时间 { Protocol645 p645 = new Protocol645(); p645.SetParameter(textBox24, "04000101"); Functions.Delay(10); p645.SetParameter(textBox23, "04000102"); }
private void button22_Click(object sender, EventArgs e)//福建:读表时间 { Protocol645 p645 = new Protocol645(); p645.ReadParameter(textBox24, "04000101"); textBox24.Text = textBox24.Text.Substring(0, 6); p645.ReadParameter(textBox23, "04000102"); }
/// <summary> /// 设数据 /// </summary> /// <param name="obj"></param> private void Set(object obj) { //_ret2 = "test"; Ret2 = "test"; Protocol645 p645 = new Protocol645(); p645.WriteData(obj.ToString(), ""); }
/// <summary> /// 读数据 /// </summary> /// <param name="obj"></param> private void Read(object obj) { Ret = string.Empty; Protocol645 p645 = new Protocol645(); p645.ReadData(obj.ToString(), out _ret); //Ret = obj.ToString(); }
private void btnSetMeterTime_Click(object sender, EventArgs e) { Protocol645 p645 = new Protocol645(); p645.SetParameter(txtMeterTime1, "04000101"); Functions.Delay(10); p645.SetParameter(txtMeterTime2, "04000102"); }
private void btnReadMeterTime_Click(object sender, EventArgs e) { Protocol645 p645 = new Protocol645(); p645.ReadParameter(txtMeterTime1, "04000101"); txtMeterTime1.Text = txtMeterTime1.Text.Substring(0, 6); p645.ReadParameter(txtMeterTime2, "04000102"); }
private void btnSetPcDataTime_Click(object sender, EventArgs e)//设当前电脑日期时间 { Protocol645 p645 = new Protocol645(); string dataDate = DateTime.Now.ToString("yyMMdd"); dataDate = Functions.JustWeek(dataDate); p645.SetParameter("04000101", dataDate); p645.SetParameter("04000102", DateTime.Now.ToString("HHmmss")); }
private void ButtonParameterSet(object sender, EventArgs e) { Button btn = (Button)sender; object obj = splitContainer4.Panel2.Controls.Find("tb" + btn.Name.Substring(4), true)[0]; string dataId = btn.Name.Substring(4); Protocol645 p645 = new Protocol645(); p645.SetParameter(obj, dataId); }