コード例 #1
0
        private void btnWriteDb_Click(object sender, EventArgs e)
        {
            if (listboxAlias.SelectedIndex < 0)
            {
                MessageBox.Show("未选中变量!", "提示信息");
            }
            else
            {
                try
                {
                    //注意array在函数内部做参数时,数据下标是从1开始的所以要考虑将第0位空出来,n个Item,就要定义n+1列数组,添加一个0,但在函数使用时,又是从左开始读取的。(针对opc)
                    //否则会报错
                    OPCItem bItem = KepItems.GetOPCItem(itmHandleServer);
                    int[]   temp  = new int[2] {
                        0, bItem.ServerHandle
                    };
                    Array  serverHandles = (Array)temp;
                    Array  values;
                    Array  Errors;
                    object qualities;
                    object timeStamps;
                    KepGroup.SyncRead(1, 1, ref serverHandles, out values, out Errors, out qualities, out timeStamps);

                    bool   result   = (Errors.GetValue(1).ToString() == "0") ? true : false;
                    object tagValue = values.GetValue(1);

                    if (result)
                    {
                        int addResult = TagDataOper.Add(new TagData()
                        {
                            ServerName = txtServerName.Text,
                            AliasName  = listboxAlias.SelectedItem.ToString(),
                            TagValue   = tagValue.ToString()
                        });
                        if (addResult == 1)
                        {
                            MessageBox.Show("入库成功!", "提示信息");
                        }
                        else
                        {
                            MessageBox.Show("入库失败!", "提示信息");
                        }
                    }
                    GC.Collect();
                }
                catch (Exception err)
                {
                }
            }
        }
コード例 #2
0
 private void btnReadDb_Click(object sender, EventArgs e)
 {
     if (listboxAlias.SelectedIndex < 0)
     {
         MessageBox.Show("未选中变量!", "提示信息");
     }
     else
     {
         List <TagData> list = TagDataOper.Read(txtServerName.Text, listboxAlias.SelectedItem.ToString());
         this.rtxtRecordDb.Text = "";
         foreach (var item in list)
         {
             string str1 = "Tag值:" + item.TagValue + "\t";
             string str4 = "入库时间:" + item.CreateTime.ToString();
             this.rtxtRecordDb.Text += str1 + str4 + "\r\n";
         }
     }
 }