示例#1
0
 /// <summary>
 /// Get symbols (variables) from PLC
 /// </summary>
 private void GetSymbols()
 {
     Symbols.Clear();
     foreach (ISymbol symbol in _symbolLoader.Symbols)
     {
         Tc3Symbols.AddSymbolRecursive(Symbols, symbol);
     }
 }
 private void RefreshDataTimerOnTick(object sender, EventArgs eventArgs)
 {
     //Stopwatch sw = Stopwatch.StartNew();
     if (_scrollViewer == null)
     {
         return;
     }
     for (int i = 0; i < (int)_scrollViewer.ViewportHeight; i++)
     {
         SymbolInfo symbol = SymbolListViewItems[(int)_scrollViewer.VerticalOffset + i];
         SymbolListViewItems[(int)_scrollViewer.VerticalOffset + i].CurrentValue = Tc3Symbols.GetSymbolValue(symbol, _plcConnections[_activePlc].Connection);
     }
     //Debug.WriteLine($"Collecting data from PLC for ListView: {sw.Elapsed}");
 }