Пример #1
0
        void OnModifyNVLClick(object sender, EventArgs e)
        {
            NodeVL   newnode = (NodeVL)(sender as ToolStripItem).Tag;
            NodeBase lists   = newnode.Parent;

            winMgr.AddAddNVLView(newnode, lists, listsNode, OnNVListChanged);
        }
Пример #2
0
        internal void AddAddNVLView(NodeVL list, NodeBase lists, TreeNode listsNode, EventHandler onNVListChanged)
        {
            DockContent nvlView = new AddNVLView(list, lists, listsNode, onNVListChanged);

            nvlView.FormClosed += new FormClosedEventHandler(nvlView_FormClosed);
            documentViews.Add(nvlView);
            nvlView.Show(dockPanel);
        }
Пример #3
0
        void OnAddNVLClick(object sender, EventArgs e)
        {
            NodeBase lists   = (NodeBase)(sender as ToolStripItem).Tag;
            NodeVL   newnode = new NodeVL("LLN0$NewDataSet");

            newnode.Parent = lists;
            winMgr.AddAddNVLView(newnode, lists, listsNode, OnNVListChanged);
        }
Пример #4
0
        void OnDeleteNVLClick(object sender, EventArgs e)
        {
            NodeVL nvl = (NodeVL)(sender as ToolStripItem).Tag;

            if (nvl.Defined)
            {
                nvl.OnDeleteSuccess += OnDeletedSuccess;
                ctrl.DeleteNVL(nvl);
            }
            else
            {
                (nvl.Tag as TreeNode).Tag = null;
                (nvl.Tag as TreeNode).Remove();
                nvl.Tag = null;
                nvl.Remove();
            }
        }
Пример #5
0
 void OnDefinedSuccess(object sender, EventArgs e)
 {
     if (treeViewIed.InvokeRequired)
     {
         OnDirectoryCallback d = new OnDirectoryCallback(OnDefinedSuccess);
         if (!this.Disposing)
         {
             this.Invoke(d, new object[] { sender, e });
         }
     }
     else
     {
         NodeVL nvl = (sender as NodeVL);
         (nvl.Tag as TreeNode).ImageIndex         = 34;
         (nvl.Tag as TreeNode).SelectedImageIndex = 34;
         nvl.Defined = true;
         nvl.Parent.AddChildNode(nvl);
     }
 }
Пример #6
0
 void OnDeletedSuccess(object sender, EventArgs e)
 {
     if (treeViewIed.InvokeRequired)
     {
         OnDirectoryCallback d = new OnDirectoryCallback(OnDeletedSuccess);
         if (!this.Disposing)
         {
             this.Invoke(d, new object[] { sender, e });
         }
     }
     else
     {
         // Propagated from SCSM after! delete acknowledged!
         NodeVL nvl = (sender as NodeVL);
         if (nvl.Tag != null)
         {
             (nvl.Tag as TreeNode).Tag = null;
             (nvl.Tag as TreeNode).Remove();
         }
         nvl.Tag     = null;
         nvl.Defined = false;
         nvl.Remove();
     }
 }
Пример #7
0
        void OnDisableAllRCBsClick(object sender, EventArgs e)
        {
            NodeLD        ld                 = (NodeLD)(sender as ToolStripItem).Tag;
            Iec61850State iecsld             = ld.GetIecs();
            string        disabledReports    = "";
            int           disabledReportsCnt = 0;

            if (iecsld != null)
            {
                NodeBase[] nds = ld.GetChildNodes();

                foreach (NodeBase nd in nds)
                {
                    NodeVL vl = (NodeVL)nd;

                    if (vl.Activated == false)
                    {
                        continue;
                    }

                    Iec61850State iecs = vl.GetIecs();

                    if (iecs != null)
                    {
                        if (vl.urcb != null)
                        {
                            NodeData        d    = (NodeData)vl.urcb.Parent;
                            List <NodeData> ndar = new List <NodeData>();
                            NodeBase        b;
                            if ((b = d.FindChildNode("RptEna")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = false;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("GI")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = false;
                                ndar.Add(n);
                            }

                            iecs.Send(ndar.ToArray(), d.CommAddress, ActionRequested.Write);

                            disabledReports += vl.urcb.Parent.Name + "\r\n";
                            disabledReportsCnt++;

                            vl.Activated = false;
                            vl.urcb      = null;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Basic structure not found!");
                    }
                }

                MessageBox.Show("Disabled " + disabledReportsCnt.ToString() + ((disabledReportsCnt == 1) ? " report:\r\n\r\n" : " reports:\r\n\r\n") + disabledReports + "\r\n", "Disable All RCBs");
            }
        }
Пример #8
0
        void OnEnableAllRCBsClick(object sender, EventArgs e)
        {
            NodeLD        ld                = (NodeLD)(sender as ToolStripItem).Tag;
            Iec61850State iecsld            = ld.GetIecs();
            NodeBase      ur                = null;
            NodeBase      b                 = null;
            string        enabledReports    = "";
            int           enabledReportsCnt = 0;

            if (iecsld != null)
            {
                NodeBase[] nds = ld.GetChildNodes();

                foreach (NodeBase nd in nds)
                {
                    NodeVL vl = (NodeVL)nd;

                    if (vl.Activated == true)
                    {
                        continue;
                    }

                    Iec61850State iecs = vl.GetIecs();

                    ur = null;

                    if (iecs != null)
                    {
                        do
                        {
                            ur = (NodeData)iecs.DataModel.ied.FindNodeByValue(scsm_MMS_TypeEnum.visible_string, vl.IecAddress, ref ur);

                            if (ur == null) // Suitable URCB not found, list cannot be activated!
                            {
                                break;
                            }

                            vl.urcb = (NodeData)ur;
                            NodeData d = (NodeData)vl.urcb.Parent;
                            b = d.FindChildNode("Resv");
                        } while (!(ur.Parent.Name.Contains("rcb") && ((Boolean)((NodeData)b).DataValue == false)));

                        if (vl.urcb != null && ur != null)
                        {
                            NodeData        d    = (NodeData)vl.urcb.Parent;
                            List <NodeData> ndar = new List <NodeData>();

                            if ((b = d.FindChildNode("Resv")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = true;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("DatSet")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = ((NodeData)b).DataValue;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("OptFlds")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = new byte[] { 0x7c, 0x00 };
                                n.DataParam = 6;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("TrgOps")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = new byte[] { 0x74 };
                                n.DataParam = 2;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("RptEna")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = true;
                                ndar.Add(n);
                            }
                            if ((b = d.FindChildNode("GI")) != null)
                            {
                                NodeData n = new NodeData(b.Name);
                                n.DataType  = ((NodeData)b).DataType;
                                n.DataValue = true;
                                ndar.Add(n);
                            }
                            iecs.Send(ndar.ToArray(), d.CommAddress, ActionRequested.Write);

                            enabledReports += ur.Parent.Name + "\r\n";
                            enabledReportsCnt++;

                            vl.Activated = true;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Basic structure not found!");
                    }
                }

                MessageBox.Show("Enabled " + enabledReportsCnt.ToString() + ((enabledReportsCnt == 1) ? " report:\r\n\r\n" : " reports:\r\n\r\n") + enabledReports + "\r\n", "Enable All RCBs");
            }
        }