Пример #1
0
        /// <summary>
        /// Инициализировать теги КП и группы переменных на основе конфигурации
        /// </summary>
        private void InitKPTags()
        {
            int             groupCnt   = config.VarGroups.Count;
            List <TagGroup> tagGroups  = new List <TagGroup>(groupCnt);
            List <bool>     isBitsList = new List <bool>();

            varGroups = new VarGroup[groupCnt];
            int signal = 1;

            for (int i = 0; i < groupCnt; i++)
            {
                KpConfig.VarGroup configVarGroup = config.VarGroups[i];
                int      varCnt   = configVarGroup.Variables.Count;
                TagGroup tagGroup = new TagGroup(configVarGroup.Name);
                VarGroup varGroup = new VarGroup(configVarGroup.Name, varCnt, signal);

                for (int j = 0; j < varCnt; j++)
                {
                    KpConfig.Variable configVar = configVarGroup.Variables[j];
                    KPTag             kpTag     = new KPTag(signal++, configVar.Name);
                    tagGroup.KPTags.Add(kpTag);
                    varGroup.Variables[j] = CreateVariable(configVar);
                    isBitsList.Add(configVar.IsBits);
                }

                tagGroups.Add(tagGroup);
                varGroups[i] = varGroup;
            }

            InitKPTags(tagGroups);

            strVals = new string[KPTags.Length];
            Array.Clear(strVals, 0, strVals.Length);
            isBitsArr = isBitsList.ToArray();
        }
Пример #2
0
 /// <summary>
 /// Создать переменную для работы по SNMP на основе переменной конфигурации
 /// </summary>
 private Variable CreateVariable(KpConfig.Variable configVar)
 {
     try
     {
         return(new Variable(new ObjectIdentifier(configVar.OID)));
     }
     catch (Exception ex)
     {
         throw new Exception(string.Format(Localization.UseRussian ?
                                           "Ошибка при создании переменной \"{0}\" с идентификатором {1}: {2}" :
                                           "Error creating variable \"{0}\" with identifier {1}: {2}",
                                           configVar.Name, configVar.OID, ex.Message));
     }
 }