private void Diag_Click(object sender, RoutedEventArgs e)
        {
            errors.Content = "";

            S7FunctionBlockRow.SelectedStatusValues tmp = 0;
            tmp |= (bool)stw.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.STW : 0;
            tmp |= (bool)akku1.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.Akku1 : 0;
            tmp |= (bool)akku2.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.Akku2 : 0;
            tmp |= (bool)ar1.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.AR1 : 0;
            tmp |= (bool)ar2.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.AR2 : 0;
            tmp |= (bool)db.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.DB : 0;

            if (myDiag == null)
            {
                try
                {
                    if (myDiag == null)
                    {
                        myDiag = _myconn.startRequestDiagnosticData((S7FunctionBlock)myBlock,
                                                                    Int32.Parse(startRow.Text), tmp);
                    }
                    myDiag.RequestDiagnosticData();
                    textEditor.Text = myBlock.ToString();
                }
                catch (Exception ex)
                {
                    errors.Content = ex.Message;
                    if (myDiag != null)
                    {
                        myDiag.Close();
                        myDiag.RemoveDiagnosticData();
                    }
                    textEditor.Text = myBlock.ToString();
                    myDiag          = null;
                }

                if (myDiag != null)
                {
                    dispatcherTimer          = new DispatcherTimer();
                    dispatcherTimer.Tick    += new EventHandler(dispatcherTimer_Tick);
                    dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 10);
                    dispatcherTimer.Start();
                }
            }
            else
            {
                dispatcherTimer.Stop();
                myDiag.Close();
                myDiag.RemoveDiagnosticData();
                textEditor.Text = myBlock.ToString();
                myDiag          = null;
            }
        }
Esempio n. 2
0
 public void unviewBlockStatus()
 {
     if (diagTimer != null)
     {
         diagTimer.Stop();
         diagTimer = null;
     }
     if (MyDiagnosticData != null)
     {
         MyDiagnosticData.Close();
         MyDiagnosticData.RemoveDiagnosticData();
         MyDiagnosticData = null;
     }
 }
Esempio n. 3
0
        public void viewBlockStatus()
        {
            App.clientForm.lblStatus.Text = "";

            //myLst.sc

            if (myBlock is S7FunctionBlock)
            {
                try
                {
                    var visRow = getFirstVisbleExpandedItem();

                    int bytepos = 0;

                    if (visRow != null)
                    {
                        foreach (var row in ((S7FunctionBlock)myBlock).AWLCode)
                        {
                            if (visRow == row)
                            {
                                break;
                            }
                            bytepos += ((S7FunctionBlockRow)row).ByteSize;
                        }
                    }


                    S7FunctionBlock myS7Blk = (S7FunctionBlock)myBlock;
                    MyDiagnosticData = App.clientForm.Connection.PLCstartRequestDiagnosticData(myS7Blk, bytepos, S7FunctionBlockRow.SelectedStatusValues.ALL);

                    if (diagTimer == null)
                    {
                        diagTimer          = new DispatcherTimer(); // DispatcherTimer();
                        diagTimer.Tick    += new EventHandler(diagTimer_Tick);
                        diagTimer.Interval = new TimeSpan(0, 0, 0, 0, 40);
                    }
                    diagTimer.Start();
                }
                catch (Exception ex)
                {
                    App.clientForm.lblStatus.Text = ex.Message;
                    if (diagTimer != null)
                    {
                        diagTimer.Stop();
                        diagTimer = null;
                    }
                }
                //diagTimer.Start();
            }
        }
 void dispatcherTimer_Tick(object sender, EventArgs e)
 {
     try
     {
         myDiag.RequestDiagnosticData();
         textEditor.Text = myBlock.ToString();
     }
     catch (Exception ex)
     {
         errors.Content = ex.Message;
         if (myDiag != null)
         {
             myDiag.Close();
             myDiag.RemoveDiagnosticData();
         }
         dispatcherTimer.Stop();
         textEditor.Text = myBlock.ToString();
         myDiag          = null;
     }
 }
 void dispatcherTimer_Tick(object sender, EventArgs e)
 {
     try
     {
         myDiag.RequestDiagnosticData();
         textEditor.Text = myBlock.ToString();
     }
     catch (Exception ex)
     {
         errors.Content = ex.Message;
         if (myDiag != null)
         {
             myDiag.Close();
             myDiag.RemoveDiagnosticData();
         }
         dispatcherTimer.Stop();
         textEditor.Text = myBlock.ToString();
         myDiag = null;
     }
 }
        private void Diag_Click(object sender, RoutedEventArgs e)
        {
            errors.Content = "";

            S7FunctionBlockRow.SelectedStatusValues tmp = 0;
            tmp |= (bool)stw.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.STW : 0;
            tmp |= (bool)akku1.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.Akku1 : 0;
            tmp |= (bool)akku2.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.Akku2 : 0;
            tmp |= (bool)ar1.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.AR1 : 0;
            tmp |= (bool)ar2.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.AR2 : 0;
            tmp |= (bool)db.IsChecked ? S7FunctionBlockRow.SelectedStatusValues.DB : 0;

            if (myDiag == null)
            {
                try
                {
                    if (myDiag == null)
                        myDiag = _myconn.PLCstartRequestDiagnosticData((S7FunctionBlock) myBlock, Int32.Parse(startRow.Text), tmp);
                    myDiag.RequestDiagnosticData();
                    textEditor.Text = myBlock.ToString();
                }
                catch (Exception ex)
                {
                    errors.Content = ex.Message;
                    if (myDiag != null)
                    {
                        myDiag.Close();
                        myDiag.RemoveDiagnosticData();
                    }
                    textEditor.Text = myBlock.ToString();
                    myDiag = null;
                }

                if (myDiag != null)
                {
                    dispatcherTimer = new DispatcherTimer();
                    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
                    dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 10);
                    dispatcherTimer.Start();
                }
            }
            else
            {
                dispatcherTimer.Stop();
                myDiag.Close();
                myDiag.RemoveDiagnosticData();
                textEditor.Text = myBlock.ToString();
                myDiag = null;
            }
        }
 public void unviewBlockStatus()
 {
     if (diagTimer != null)
     {
         diagTimer.Stop();
         diagTimer = null;
     }
     if (MyDiagnosticData != null)
     {
         MyDiagnosticData.Close();
         MyDiagnosticData.RemoveDiagnosticData();
         MyDiagnosticData = null;
     }
 }
        public void viewBlockStatus()
        {
            App.clientForm.lblStatus.Text = "";

            //myLst.sc

            if (myBlock is S7FunctionBlock)
            {
                try
                {

                    var visRow = getFirstVisbleExpandedItem();
                    
                    int bytepos = 0;

                    if (visRow!=null)
                        foreach (var row in ((S7FunctionBlock)myBlock).AWLCode)
                        {
                            if (visRow == row)
                                break;
                            bytepos += ((S7FunctionBlockRow) row).ByteSize;
                        }


                    S7FunctionBlock myS7Blk = (S7FunctionBlock)myBlock;
                    MyDiagnosticData = App.clientForm.Connection.PLCstartRequestDiagnosticData(myS7Blk, bytepos, S7FunctionBlockRow.SelectedStatusValues.ALL);

                    if (diagTimer == null)
                    {
                        diagTimer = new DispatcherTimer(); // DispatcherTimer();
                        diagTimer.Tick += new EventHandler(diagTimer_Tick);
                        diagTimer.Interval = new TimeSpan(0, 0, 0, 0, 40);
                    }
                    diagTimer.Start();
                }
                catch (Exception ex)
                {
                    App.clientForm.lblStatus.Text = ex.Message;
                    if (diagTimer != null)
                    {
                        diagTimer.Stop();
                        diagTimer = null;
                    }
                }
                //diagTimer.Start();                                               
            }
        }
        private void BlockList_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            string nm = BlockList.SelectedItem.ToString();
            if (dispatcherTimer != null)
                dispatcherTimer.Stop();
            if (myDiag != null)
            {
                myDiag.Close();
                myDiag = null;
            }
            myBlock = MC7Converter.GetAWLBlock(_myconn.PLCGetBlockInMC7(nm), 0, myblkFld);
            if (myBlock != null)
            {
                if (myBlock.BlockType == PLCBlockType.DB)
                {
                    toppanel.ClearValue(HeightProperty);
                    toppanel.ClearValue(DockPanel.DockProperty);
                    textEditor.Visibility = System.Windows.Visibility.Collapsed;

                }
                else
                {
                    toppanel.Height = 160;
                    toppanel.SetValue(DockPanel.DockProperty,Dock.Top);
                    textEditor.Visibility = System.Windows.Visibility.Visible;

                }
                textEditor.Text = myBlock.ToString();
                blockName.Content = nm;
                Upload.IsEnabled = true;
                Optimize.IsEnabled = true;
                Diag.IsEnabled = true;

                if (myBlock.BlockType == PLCBlockType.DB)
                    myTree.DataContext = ((S7DataBlock)myBlock).Structure.Children;
                else
                    myTree.DataContext = ((S7FunctionBlock)myBlock).Parameter.Children;

            }
        }
Esempio n. 10
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (_myconn == null)
            {
                _myconn = new PLCConnection(_connname);
                _myconn.Connect(1);

                foreach (string itm in _myconn.PLCListBlocks(PLCBlockType.AllEditableBlocks))
                    BlockList.Items.Add(itm);
            }
            else
            {
                if (dispatcherTimer!=null)
                    dispatcherTimer.Stop();
                if (myDiag != null)
                {
                    myDiag.Close();
                    myDiag.RemoveDiagnosticData();
                    textEditor.Text = myBlock.ToString();
                }
                _myconn.Dispose();
                _myconn = null;
                myDiag = null;
                BlockList.Items.Clear();
                blockName.Content = "FCxx";
                Upload.IsEnabled = false;
                Optimize.IsEnabled = false;
                Diag.IsEnabled = false;
            }
        }