Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
 public NIChannelSetForm(int index)
 {
     InitializeComponent();
     ChannelIndex = index;
     ai           = DAL.NIChannelSettingDataDBOption.Get(ChannelIndex);
 }
Exemplo n.º 3
0
        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();
            }
        }