//N5751A private void button3_Click(object sender, EventArgs e) { string strIP; UInt32 nPort; string resourceName; int error = 0; if (button3.Text == "打开")//用户要连接仪器 { strIP = this.ipAddressControl3.Text; nPort = (UInt32)this.Port3.Value; //连接设备 resourceName = "TCPIP0::" + strIP + "::inst0::INSTR"; error = CDll.ConnectSpecificInstrument(CGloabal.g_curInstrument.strInstruName, resourceName); if (error < 0)//连接失败 { button3.Text = "打开"; } else//连接成功,则要将当前用户输入的IP地址和端口号保存到ini文件中 { CDll.SaveInputNetInforsToIniFile(CGloabal.g_curInstrument.strInstruName, strIP, nPort); button3.Text = "关闭"; } } else//此时用户要断开连接 { error = CDll.CloseSpecificInstrument(CGloabal.g_curInstrument.strInstruName); if (error < 0)//断开失败,则还要将switchConnect恢复为连接状态 { button3.Text = "关闭"; } } }
private void MainForm_Load(object sender, EventArgs e) { //居中显示 this.StartPosition = FormStartPosition.CenterScreen; this.FormBorderStyle = FormBorderStyle.Fixed3D; //显示应用程序在任务栏中的图标 this.ShowInTaskbar = true; //首先要从ini文件读取仪器的参数信息 CDll.GetAlltheInstumentsParasFromIniFile(); ipAddressControl.Text = CGloabal.g_InstrPowerModule.ipAdress; port.Value = CGloabal.g_InstrPowerModule.port; ipAddressControl2.Text = CGloabal.g_InstrPowerModule.ipAdress; port2.Value = CGloabal.g_InstrScopeModule.port; multiNum.Value = CGloabal.g_InstrMultimeterModule.port; //dt.Columns.Add("序号"); dt.Columns.Add("时间"); dt.Columns.Add("电压1"); dt.Columns.Add("电流1"); dt.Columns.Add("电压2"); dt.Columns.Add("电流2"); dt.Columns.Add("速率"); dt.Columns.Add("芯片1通道1发"); dt.Columns.Add("芯片1通道1收"); dt.Columns.Add("芯片1通道1错误"); dt.Columns.Add("芯片2通道1发"); dt.Columns.Add("芯片2通道1收"); dt.Columns.Add("芯片2通道1错误"); dt.Columns.Add("芯片1通道2发"); dt.Columns.Add("芯片1通道2收"); dt.Columns.Add("芯片1通道2错误"); dt.Columns.Add("芯片2通道2发"); dt.Columns.Add("芯片2通道2收"); dt.Columns.Add("芯片2通道2错误"); dt.Columns.Add("芯片1通道3发"); dt.Columns.Add("芯片1通道3收"); dt.Columns.Add("芯片1通道3错误"); dt.Columns.Add("芯片2通道3发"); dt.Columns.Add("芯片2通道3收"); dt.Columns.Add("芯片2通道3错误"); dt.Columns.Add("芯片1通道4发"); dt.Columns.Add("芯片1通道4收"); dt.Columns.Add("芯片1通道4错误"); dt.Columns.Add("芯片2通道4发"); dt.Columns.Add("芯片2通道4收"); dt.Columns.Add("芯片2通道4错误"); //暂时隐藏数据加载 tabPage5.Parent = null; //bgWork.DoWork += Fn_RunBack; //bgWork.ProgressChanged += Fn_ProgressChanged; }
private void btnChipSet_Click(object sender, EventArgs e) { setLabel.Text = ""; ChipModel CHIPMODEL = new ChipModel(); CHIPMODEL.chipSelect = chipSelect.SelectedIndex; CHIPMODEL.pathSelect = pathSelect.SelectedIndex; CHIPMODEL.baudRate = baudRate.SelectedItem.ToString(); CHIPMODEL.parityCheck = parityCheck.SelectedItem.ToString(); CHIPMODEL.stopBit = stopBit.SelectedItem.ToString(); CHIPMODEL.byteLength = byteLength.SelectedItem.ToString(); CHIPMODEL.FIFOSelect = FIFOSelect.SelectedItem.ToString(); CHIPMODEL.DMAPattern = DMAPattern.SelectedItem.ToString(); CHIPMODEL.receiveFIFO = receiveFIFO.SelectedItem.ToString(); CHIPMODEL.sendTarget = sendTarget.SelectedItem.ToString(); CHIPMODEL.receiveInterrupt = receiveInterrupt.SelectedItem.ToString(); CHIPMODEL.sendInterrupt = sendInterrupt.SelectedItem.ToString(); CHIPMODEL.receiveCache = receiveCache.SelectedItem.ToString(); int error = CDll.ChipSet(CHIPMODEL); if (error >= 0) { setLabel.Text = "设置成功..."; } }
private void reg_write_Click(object sender, EventArgs e) { int chipsel; int channel; if (reg_chipsel.ToString() == "芯片2") { chipsel = 0x01; } else { chipsel = 0x00; } if (reg_channelSel.ToString() == "通道2") { channel = 1; } else if (reg_channelSel.ToString() == "通道3") { channel = 2; } else if (reg_channelSel.ToString() == "通道4") { channel = 3; } else { channel = 0; } //THR //IER 中断使能寄存器 //FCR FIFO 控制寄存器 //LCR 线控寄存器 //SCR 备用寄存器 //DLL 分频器波特率 //DLM 分频器波特率 //EFR 增强特性寄存器 label109.Text = "写入进行中"; this.Refresh(); CDll.RegWriteData(chipsel, channel, 08, Convert.ToInt32(DLL_W.Text)); CDll.RegWriteData(chipsel, channel, 09, Convert.ToInt32(DLM_W.Text)); CDll.RegWriteData(chipsel, channel, 10, Convert.ToInt32(EFR_W.Text)); CDll.RegWriteData(chipsel, channel, 03, Convert.ToInt32(LCR_W.Text)); CDll.RegWriteData(chipsel, channel, 0, Convert.ToInt32(THR_W.Text)); CDll.RegWriteData(chipsel, channel, 01, Convert.ToInt32(IER_W.Text)); CDll.RegWriteData(chipsel, channel, 02, Convert.ToInt32(FCR_W.Text)); CDll.RegWriteData(chipsel, channel, 07, Convert.ToInt32(SCR_W.Text)); label109.Text = "写入完毕"; this.Refresh(); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void reg_read_Click(object sender, EventArgs e) { int chipsel; int channel; if (reg_chipsel.ToString() == "芯片2") { chipsel = 0x01; } else { chipsel = 0x00; } if (reg_channelSel.ToString() == "通道2") { channel = 1; } else if (reg_channelSel.ToString() == "通道3") { channel = 2; } else if (reg_channelSel.ToString() == "通道4") { channel = 3; } else { channel = 0; } label109.Text = "读取进行中"; this.Refresh(); // label109.f byte[] readByte = CDll.regReadData(chipsel, channel, 0); //RBR RBR_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 1); IER_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 2); IIR_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 3); LCR_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 5); LSR_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 7); //SCR SCR_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 8); //DLL DLL_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 9); //DLM DLM_R.Text = readByte[5].ToString(); readByte = CDll.regReadData(chipsel, channel, 10); //EFR EFR_R.Text = readByte[5].ToString(); label109.Text = "读取完毕"; this.Refresh(); }
private void btnLSRRead1_Click(object sender, EventArgs e) { this.lsrList1.GridLines = true; //显示表格线 this.lsrList1.View = View.Details; //显示表格细节 this.lsrList1.LabelEdit = false; //是否可编辑,ListView只可编辑第一列。 this.lsrList1.Scrollable = true; //有滚动条 this.lsrList1.HeaderStyle = ColumnHeaderStyle.Clickable; //对表头进行设置 this.lsrList1.FullRowSelect = true; //是否可以选择行 lsrList1.Columns.Clear(); //读取数据 byte[] readByte = CDll.BaseTestReadData(0, basePath1.Text, "LSR"); this.lsrList1.Columns.Add("FIFOERR", 70); this.lsrList1.Columns.Add("TEMT", 50); this.lsrList1.Columns.Add("THRE", 50); this.lsrList1.Columns.Add("BI", 36); this.lsrList1.Columns.Add("FE", 36); this.lsrList1.Columns.Add("PE", 36); this.lsrList1.Columns.Add("OE", 36); this.lsrList1.Columns.Add("DR", 36); ListViewItem[] p = new ListViewItem[1]; string[] ass = new string[8] { "", "", "", "", "", "", "", "" }; //添加 { ass[7] = ((readByte[5] & 0x01)).ToString(); ass[6] = ((readByte[5] & 0x02) >> 1).ToString(); ass[5] = ((readByte[5] & 0x04) >> 2).ToString(); ass[4] = ((readByte[5] & 0x08) >> 3).ToString(); ass[3] = ((readByte[5] & 0x10) >> 4).ToString(); ass[2] = ((readByte[5] & 0x20) >> 5).ToString(); ass[1] = ((readByte[5] & 0x40) >> 6).ToString(); ass[0] = ((readByte[5] & 0x80) >> 7).ToString(); } p[0] = new ListViewItem(ass); if (lsrList1.Items.Count > 0) { this.lsrList1.Items.Remove(this.lsrList1.Items[0]); } this.lsrList1.Items.AddRange(p); }
private void btnIIRRead2_Click(object sender, EventArgs e) { this.iirList2.GridLines = true; //显示表格线 this.iirList2.View = View.Details; //显示表格细节 this.iirList2.LabelEdit = false; //是否可编辑,ListView只可编辑第一列。 this.iirList2.Scrollable = true; //有滚动条 this.iirList2.HeaderStyle = ColumnHeaderStyle.Clickable; //对表头进行设置 this.iirList2.FullRowSelect = true; //是否可以选择行 iirList2.Columns.Clear(); //读取数据 byte[] readByte = CDll.BaseTestReadData(1, basePath2.Text, "IIR"); this.iirList2.Columns.Add("FIFOE", 60); this.iirList2.Columns.Add("FIFOE", 60); this.iirList2.Columns.Add("ID4", 40); this.iirList2.Columns.Add("ID3", 40); this.iirList2.Columns.Add("ID2", 40); this.iirList2.Columns.Add("ID1", 40); this.iirList2.Columns.Add("ID0", 40); this.iirList2.Columns.Add("NINT", 45); ListViewItem[] p = new ListViewItem[1]; string[] ass = new string[8] { "", "", "", "", "", "", "", "" }; //添加 { ass[7] = ((readByte[5] & 0x01)).ToString(); ass[6] = ((readByte[5] & 0x02) >> 1).ToString(); ass[5] = ((readByte[5] & 0x04) >> 2).ToString(); ass[4] = ((readByte[5] & 0x08) >> 3).ToString(); ass[3] = ((readByte[5] & 0x10) >> 4).ToString(); ass[2] = ((readByte[5] & 0x20) >> 5).ToString(); ass[1] = ((readByte[5] & 0x40) >> 6).ToString(); ass[0] = ((readByte[5] & 0x80) >> 7).ToString(); } p[0] = new ListViewItem(ass); if (iirList2.Items.Count > 0) { this.iirList2.Items.Remove(this.iirList2.Items[0]); } this.iirList2.Items.AddRange(p); }
private void MainForm_Load(object sender, EventArgs e) { //居中显示 this.StartPosition = FormStartPosition.CenterScreen; this.FormBorderStyle = FormBorderStyle.Fixed3D; //显示应用程序在任务栏中的图标 this.ShowInTaskbar = true; //获取应用程序的运行路径 CGloabal.strExecuteBeginDir = System.Windows.Forms.Application.StartupPath; //从ini文件中读取仪器的参数 CDll.GetAlltheInstumentsParasFromIniFile(); //模拟点击该按钮 button测试仪器管理.PerformClick(); }
private void btnOscill_Click(object sender, EventArgs e) { string strIP; UInt32 nPort; string resourceName; int error = 0; if (btnOscill.Text == "打开")//用户要连接仪器 { strIP = this.ipAddressControl2.Text; nPort = (UInt32)this.port2.Value; //连接设备 resourceName = "TCPIP0::" + strIP + "::inst0::INSTR"; error = CDll.ConnectSpecificInstrument(CGloabal.g_InstrScopeModule.strInstruName, resourceName); if (error < 0)//连接失败 { CCommonFuncs.ShowHintInfor(eHintInfoType.error, "示波器打开失败!"); btnOscill.Text = "打开"; } else//连接成功,则要将当前用户输入的IP地址和端口号保存到ini文件中 { CDll.SaveInputNetInforsToIniFile(CGloabal.g_InstrScopeModule.strInstruName, strIP, nPort); btnOscill.Text = "关闭"; } } else//此时用户要断开连接 { error = CDll.CloseSpecificInstrument(CGloabal.g_InstrScopeModule.strInstruName); if (error < 0)//断开失败,则还要将switchConnect恢复为连接状态 { btnOscill.Text = "关闭"; } else { btnOscill.Text = "打开"; } } }
private void btnRead2_Click(object sender, EventArgs e) { this.list2.GridLines = true; //显示表格线 this.list2.View = View.Details; //显示表格细节 this.list2.LabelEdit = false; //是否可编辑,ListView只可编辑第一列。 this.list2.Scrollable = true; //有滚动条 this.list2.HeaderStyle = ColumnHeaderStyle.Clickable; //对表头进行设置 this.list2.FullRowSelect = true; //是否可以选择行 list2.Columns.Clear(); //读取数据 byte[] readByte = CDll.BaseTestReadData(1, basePath2.Text, "ARM"); this.list2.Columns.Add("RXRDY", 125); this.list2.Columns.Add("TXRDY", 125); this.list2.Columns.Add("IRQ", 125); ListViewItem[] p = new ListViewItem[1]; string[] ass = new string[3] { "", "", "" }; //添加 { ass[2] = ((readByte[4] & 0x01)).ToString(); ass[1] = ((readByte[4] & 0x02) >> 1).ToString(); ass[0] = ((readByte[4] & 0x04) >> 2).ToString(); } p[0] = new ListViewItem(ass); if (list2.Items.Count > 0) { this.list2.Items.Remove(this.list2.Items[0]); } this.list2.Items.AddRange(p); }
private void baseRead2_Click(object sender, EventArgs e) { byte[] readByte = CDll.BaseTestReadData(1, basePath2.Text, "BASE"); receiveData2.Text = ((int)readByte[4]).ToString(); }
private void baseSend2_Click(object sender, EventArgs e) { CDll.BaseTestSendData(1, basePath2.Text, Convert.ToInt32(sendData2.Text)); }
private int CmdsAnalysis(byte[] CmdBuf, ref int nCmdID) { int nTmpVal; int nArrayIndex = 0; string strErrMsg = ""; if (CmdBuf[0] != 0xAA) { return(-1); } if (CmdBuf[23] != 0xBB) { return(-1); } //波特率 if (CmdBuf[2] == 104) { RModel.rate = 9600; label14.Text = label15.Text = label16.Text = label17.Text = "9600bps"; label34.Text = label35.Text = label36.Text = label37.Text = "9600bps"; } if (CmdBuf[2] == 2) { RModel.rate = 500000; label14.Text = label15.Text = label16.Text = label17.Text = "500Kbps"; label34.Text = label35.Text = label36.Text = label37.Text = "500Kbps"; } //通道1 tupSend1 += CmdBuf[6]; tupError11 += CmdBuf[7]; tupReceive1 += CmdBuf[8]; tupError21 += CmdBuf[9]; label24.Text = label39.Text = tupSend1.ToString(); label70.Text = tupError11.ToString(); label19.Text = label44.Text = tupReceive1.ToString(); label66.Text = tupError21.ToString(); //数据保存 RModel.sendVal11 = RModel.receivVal21 = CmdBuf[6]; RModel.errorVal11 = CmdBuf[7]; RModel.receivVal11 = RModel.sendVal21 = CmdBuf[8]; RModel.errorVal21 = CmdBuf[9]; //通道2 tupSend2 += CmdBuf[10]; tupError12 += CmdBuf[11]; tupReceive2 += CmdBuf[12]; tupError22 += CmdBuf[13]; label25.Text = label40.Text = tupSend2.ToString(); label71.Text = tupError12.ToString(); label20.Text = label45.Text = tupReceive2.ToString(); label67.Text = tupError22.ToString(); //数据保存 RModel.sendVal12 = RModel.receivVal22 = CmdBuf[10]; RModel.errorVal12 = CmdBuf[11]; RModel.receivVal12 = RModel.sendVal22 = CmdBuf[12]; RModel.errorVal22 = CmdBuf[13]; //通道3 tupSend3 += CmdBuf[14]; tupError13 += CmdBuf[15]; tupReceive3 += CmdBuf[16]; tupError23 += CmdBuf[17]; label26.Text = label41.Text = tupSend3.ToString(); label72.Text = tupError13.ToString(); label21.Text = label46.Text = tupReceive3.ToString(); label68.Text = tupError23.ToString(); //数据保存 RModel.sendVal13 = RModel.receivVal23 = CmdBuf[14]; RModel.errorVal13 = CmdBuf[15]; RModel.receivVal13 = RModel.sendVal23 = CmdBuf[16]; RModel.errorVal23 = CmdBuf[17]; //通道4 tupSend4 += CmdBuf[18]; tupError14 += CmdBuf[19]; tupReceive4 += CmdBuf[20]; tupError24 += CmdBuf[21]; label27.Text = label47.Text = tupSend4.ToString(); label73.Text = tupError24.ToString(); label22.Text = label42.Text = tupReceive4.ToString(); label69.Text = tupError14.ToString(); //数据保存 RModel.sendVal14 = RModel.receivVal24 = CmdBuf[18]; RModel.errorVal14 = CmdBuf[19]; RModel.receivVal14 = RModel.sendVal24 = CmdBuf[20]; RModel.errorVal24 = CmdBuf[21]; CGloabal.LModel.Add(RModel); try { DataRow dr = dt.NewRow(); foreach (var item in CGloabal.LModel) { //dr["序号"] = kkNum; dr["时间"] = System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");//item.curDate; dr["电压1"] = item.volVal1; dr["电流1"] = item.eleVal1; dr["电压2"] = item.volVal2; dr["电流2"] = item.eleVal2; dr["速率"] = item.rate; dr["芯片1通道1发"] = item.sendVal11; dr["芯片1通道1收"] = item.receivVal11; dr["芯片1通道1错误"] = item.errorVal11; dr["芯片2通道1发"] = item.sendVal21; dr["芯片2通道1收"] = item.receivVal21; dr["芯片2通道1错误"] = item.errorVal21; dr["芯片1通道2发"] = item.sendVal12; dr["芯片1通道2收"] = item.receivVal12; dr["芯片1通道2错误"] = item.errorVal12; dr["芯片2通道2发"] = item.sendVal22; dr["芯片2通道2收"] = item.receivVal22; dr["芯片2通道2错误"] = item.errorVal22; dr["芯片1通道3发"] = item.sendVal13; dr["芯片1通道3收"] = item.receivVal13; dr["芯片1通道3错误"] = item.errorVal13; dr["芯片2通道3发"] = item.sendVal23; dr["芯片2通道3收"] = item.receivVal23; dr["芯片2通道3错误"] = item.errorVal23; dr["芯片1通道4发"] = item.sendVal14; dr["芯片1通道4收"] = item.receivVal14; dr["芯片1通道4错误"] = item.errorVal14; dr["芯片2通道4发"] = item.sendVal24; dr["芯片2通道4收"] = item.receivVal24; dr["芯片2通道4错误"] = item.errorVal24; } dt.Rows.Add(dr); bgWork.ReportProgress(10); //数据保存到Excel中 int kk = CDll.DataSaveExcel(CGloabal.LModel); if (kk > 0) { CGloabal.LModel.Clear(); } } catch (Exception ex) { return(0); } return(0); }
//FIFO正确性测试 private void FIFOTest_Click(object sender, EventArgs e) { FIFOResult.Text = CDll.DMATestAndFIFOTest("FIFO"); }