private void button1_Click(object sender, EventArgs e) { DAL.ExInfoData ei = new DAL.ExInfoData(); ei.Title = textBox1.Text; ei.SampleRete = (int)numericUpDown1.Value; ei.SaveNS = (int)numericUpDown2.Value; for (int i = 0; i < dataGridView1.Rows.Count; i++) { DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[0]; if (Convert.ToBoolean(checkCell.Value) == true) { DAL.NIChannelSettingData ai = DAL.NIChannelSettingDataFactory.Construct(NIdt, i); ei.NI9188Mod += (ai.ID).ToString() + "|"; } } if (ei.NI9188Mod == "") { MessageBox.Show("未选择任何传感器"); return; } if (ei.NI9188Mod[ei.NI9188Mod.Length - 1] == '|') { ei.NI9188Mod = ei.NI9188Mod.Substring(0, ei.NI9188Mod.Length - 1); } DAL.ExInfoDataDBOption.Insert(ei); this.Hide(); taskForm f = new taskForm(); f.ShowDialog(); this.Show(); }
public NIChannelSetForm(int index) { InitializeComponent(); ChannelIndex = index; ai = DAL.NIChannelSettingDataDBOption.Get(ChannelIndex); }
private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; exDataList = new DAL.ExDataData[exInfo.SaveNS]; for (int i = 0; i < exInfo.SaveNS; i++) { exDataList[i] = new DAL.ExDataData(); } exDataListIndex = 0; exDataTable = new DataTable(); exDataTable.Columns.Add("序号"); //exDataTable.Columns.Add("物理通道"); exDataTable.Columns.Add("名称"); exDataTable.Columns.Add("工位号"); exDataTable.Columns.Add("安装位置"); exDataTable.Columns.Add("测量值"); exDataTable.Columns.Add("最小值"); exDataTable.Columns.Add("最大值"); exDataTable.Columns.Add("物理量单位"); string[] aiNameList = exInfo.NI9188Mod.Split('|'); string strSQL = "select * from NIChannelSetting where ( "; if (aiNameList.Length == 0) { MessageBox.Show("未选择任何传感器"); this.Close(); return; } foreach (string ai in aiNameList) { strSQL += "ID=" + ai + " OR "; } strSQL = strSQL.Substring(0, strSQL.Length - 4); strSQL += ")"; aiList = new List <DAL.NIChannelSettingData>(); DataTable aidt = WFNetLib.ADO.SQLServerOP.DataTableSQL(strSQL); int index = 1; try { myTask = new Task(); for (int i = 0; i < aidt.Rows.Count; i++) { DAL.NIChannelSettingData ai = DAL.NIChannelSettingDataFactory.Construct(aidt.Rows[i]); aiList.Add(ai); DataRow dr = exDataTable.NewRow(); dr["序号"] = index++; //dr["物理通道"] = ai.物理通道; dr["名称"] = ai.称; dr["工位号"] = ai.工位号; dr["安装位置"] = ai.安装位置; dr["最小值"] = ai.最小值; dr["最大值"] = ai.最大值; dr["物理量单位"] = ai.物理量单位; exDataTable.Rows.Add(dr); myTask.AIChannels.CreateCurrentChannel(ai.物理通道, "",//ai.名称 + "_" + ai.工位号, (AITerminalConfiguration)(-1), 0.004, 0.020, AICurrentUnits.Amps); } myTask.Timing.ConfigureSampleClock("", exInfo.SampleRete, SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, exInfo.SampleRete); // Verify the Task myTask.Control(TaskAction.Verify); runningTask = myTask; myAnalogReader = new AnalogMultiChannelReader(myTask.Stream); myAsyncCallback = new AsyncCallback(AnalogInCallback); myAnalogReader.SynchronizeCallbacks = true; myAnalogReader.BeginReadWaveform(exInfo.SampleRete, myAsyncCallback, myTask); dataGridView1.DataSource = exDataTable; } catch (System.Exception ex) { // Display Errors MessageBox.Show(ex.Message); myTask.Dispose(); runningTask = null; this.Close(); } }