Ejemplo n.º 1
0
 public int GetSymbol(string Name, out PLC_SYMBOLS symbol, out object Value)
 {
     try
     {
         symbol = m_plcSymbols2[Name];
         Value  = 0xFFFFFFFFF;
         try
         {
             TcAdsSymbolInfo s = m_plcSymbols[Name];
             Value = m_adsClient.ReadSymbol(s).ToString();
             return(1);
         }
         catch (AdsDatatypeNotSupportedException err)
         {
             Value = err.Message;
             return(-1);
         }
         catch (Exception err)
         {
             return(-2);
         }
     }
     catch (Exception err)
     {
         throw (new SystemException("Symbol not found"));
     }
 }
Ejemplo n.º 2
0
 void SetSearchResults(PLC_SYMBOLS symbol)
 {
     tbName.Text        = symbol.Name;
     tbIndexOffset.Text = symbol.IndexOffset.ToString();
     tbIndexGroup.Text  = symbol.IndexGroup.ToString();
     tbDatatypeId.Text  = symbol.Datatype.ToString();
     tbDatatype.Text    = symbol.Type.ToString();
     tbSize.Text        = symbol.Size.ToString();
     tbSymbolname.Text  = symbol.ShortName;
 }
Ejemplo n.º 3
0
        public void LoadSymbols()
        {
            try
            {
                symbolLoader = m_adsClient.CreateSymbolInfoLoader();
            }
            catch (Exception err)
            {
                throw (new SystemException(err.Message));
            }

            m_plcSymbols.Clear();
            m_plcSymbols2.Clear();

            TcAdsSymbolInfo symbol = symbolLoader.GetFirstSymbol(true);

            while (symbol != null)
            {
                string symbolName = symbol.Name.TrimStart('.');

                m_plcSymbols.Add(symbolName, symbol);

                PLC_SYMBOLS p = new PLC_SYMBOLS();
                p.Name        = symbolName;
                p.IndexGroup  = symbol.IndexGroup;
                p.IndexOffset = symbol.IndexOffset;
                p.IndexOffset = symbol.IndexOffset;
                p.Size        = symbol.Size;
                p.Type        = symbol.Type;
                p.Datatype    = symbol.Datatype;
                string ShortName = symbol.ShortName.TrimStart('.');
                p.ShortName = ShortName;

                try
                {
                    p.Value = m_adsClient.ReadSymbol(symbol).ToString();
                    m_plcSymbols2.Add(p.Name, p);
                }
                catch (AdsDatatypeNotSupportedException err)
                {
                    p.Value = err.Message;
                }
                catch (Exception err)
                {
                    //MessageBox.Show("Unable to read Symbol Info. " + err.Message);
                }
                symbol = symbol.NextSymbol;
            }
        }
Ejemplo n.º 4
0
        private void CreateNewNode4(TcAdsSymbolInfo symbol)
        {
            m_plcSymbols.Add(symbol.Name, symbol);

            PLC_SYMBOLS p = new PLC_SYMBOLS();

            p.Name        = symbol.Name;
            p.IndexGroup  = symbol.IndexGroup;
            p.IndexOffset = symbol.IndexOffset;
            p.IndexOffset = symbol.IndexOffset;
            p.Size        = symbol.Size;
            p.Type        = symbol.Type;
            p.Datatype    = symbol.Datatype;
            string ShortName = symbol.ShortName.TrimStart('.');

            p.ShortName = ShortName;

            try
            {
                //p.Value = m_adsClient.ReadSymbol(symbol).ToString();
                m_plcSymbols2.Add(p.Name, p);
            }
            catch (AdsDatatypeNotSupportedException err)
            {
                p.Value = err.Message;
            }
            catch (Exception err)
            {
                //MessageBox.Show("Unable to read Symbol Info. " + err.Message);
            }

            //TreeNode node = new TreeNode(symbol.Name);
            //node.Tag = symbol;
            TcAdsSymbolInfo subSymbol = symbol.FirstSubSymbol;

            while (subSymbol != null)
            {
                string symbolName = subSymbol.Name.TrimStart('.');
                if (symbol.Name.Contains("GVL_") == true)
                {
                    CreateNewNode4(subSymbol);
                }
                subSymbol = subSymbol.NextSymbol;
            }
        }
Ejemplo n.º 5
0
        public void LoadSymbols2()
        {
            try
            {
                symbolLoader = m_adsClient.CreateSymbolInfoLoader();
            }
            catch (Exception err)
            {
                throw (new SystemException(err.Message));
            }

            m_plcSymbols.Clear();
            m_plcSymbols2.Clear();

            foreach (TcAdsSymbolInfo symbol in symbolLoader)
            {
                m_plcSymbols.Add(symbol.Name, symbol);

                PLC_SYMBOLS p = new PLC_SYMBOLS();
                p.Name        = symbol.Name;
                p.IndexGroup  = symbol.IndexGroup;
                p.IndexOffset = symbol.IndexOffset;
                p.IndexOffset = symbol.IndexOffset;
                p.Size        = symbol.Size;
                p.Type        = symbol.Type;
                p.Datatype    = symbol.Datatype;
                p.ShortName   = symbol.ShortName;

                try
                {
                    p.Value = m_adsClient.ReadSymbol(symbol).ToString();
                    m_plcSymbols2.Add(p.Name, p);
                }
                catch (AdsDatatypeNotSupportedException err)
                {
                    p.Value = err.Message;
                }
                catch (Exception err)
                {
                    //MessageBox.Show("Unable to read Symbol Info. " + err.Message);
                }
            }
        }