Пример #1
0
        public string GetText(DpkWordItem word)
        {
            List <bool> fieldVal = new List <bool>();
            List <bool> dataVal  = Service.ConvertFromInt(word.DATA, 24);

            for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++)
            {
                fieldVal.Add(dataVal[i]);
            }
            //
            string res = "";

            foreach (List <bool> key in ListEnum.Keys)
            {
                bool flag   = true;
                int  numBit = 0;
                foreach (bool item in key)
                {
                    if (item)
                    {
                        if (!item.Equals(fieldVal[numBit]))
                        {
                            flag = false; break;
                        }
                    }
                    numBit++;
                }
                if (flag)
                {
                    res += ListEnum[key] + ", ";
                }
            }
            return(res);
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine(string.Format("Программа генерации DpkLog-файла версии {0}.{1}", Version, Revision));
            DpkDataBuf    dpkLogFile = new DpkDataBuf();
            List <object> dpkWords   = new List <object>();
            Random        ramdomizer = new Random();

            Console.WriteLine("Введите кол-во слов ДПК в файле и нажмите клавишу 'Enter':");
            int countWords = 10000;

            if (!int.TryParse(Console.ReadLine(), out countWords))
            {
                countWords = 10000;
            }
            TimeSpan time = TimeSpan.Zero;

            for (int i = 0; i < countWords; i++)
            {
                DpkWordItem word = new DpkWordItem();
                word.IsGood = true;
                word.Flags  = 0;
                word.ADR    = 1;
                word.DATA   = ramdomizer.Next(0, 0xFFFF);
                word.Time   = time;
                time        = time.Add(new TimeSpan(0, 0, 0, 0, ramdomizer.Next(10, 30)));
                dpkWords.Add(word);
            }
            dpkLogFile.PutData(dpkWords);
            Console.WriteLine("Введите имя DpkLog-файла и нажмите клавишу 'Enter':");
            string fileName = Console.ReadLine();

            dpkLogFile.SaveToFile(fileName + ".dpklog");
        }
Пример #3
0
 public string GetText(int numWord, DpkWordItem word)
 {
     return(string.Format("№ {0} Время: {1} Адрес[1-8]: {2} Данные[9-32]: {3}", new object[] { numWord,
                                                                                               string.Format("{0}:{1}:{2}:{3}", word.Time.Hours.ToString().PadLeft(2, '0'), word.Time.Minutes.ToString().PadLeft(2, '0'),
                                                                                                             word.Time.Seconds.ToString().PadLeft(2, '0'), word.Time.Milliseconds.ToString().PadLeft(3, '0')),
                                                                                               Service.ConvertFrom(Service.ConvertFromInt(word.ADR, 8)),
                                                                                               Service.ConvertFrom(Service.ConvertFromInt(word.DATA, 24)) }));
 }
Пример #4
0
        public string GetText(DpkWordItem word)
        {
            List <bool> fieldVal = new List <bool>();
            List <bool> dataVal  = Service.ConvertFromInt(word.DATA, 24);

            for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++)
            {
                fieldVal.Add(dataVal[i]);
            }
            return(string.Format("{0} {1}", NameField, Service.ConvertFrom(fieldVal)));
        }
Пример #5
0
        //Функция построения строки со словом ДПК в списке
        DataListTemplate SourceDataElementConvert(object item, int indexItem)
        {
            DpkWordItem      dkpWord  = (DpkWordItem)item;
            DataListTemplate data_l   = new DataListTemplate();
            TimeSpan         timeItem = dkpWord.Time;
            string           adr_str  = Convert.ToString(dkpWord.ADR, 2).PadLeft(8, '0');
            string           adr      = "";

            for (int i = 0; i < 8; i++)
            {
                adr = adr_str[i] + adr;
            }

            string data_str = Convert.ToString(dkpWord.DATA, 2).PadLeft(24, '0');
            string data     = "";

            for (int i = 0; i < 24; i++)
            {
                data = data_str[i] + data;
            }

            data_l.ListColumnText = new List <string>()
            {
                indexItem.ToString(),
                string.Format("{0}:{1}:{2}:{3}", timeItem.Hours.ToString().PadLeft(2, '0'), timeItem.Minutes.ToString().PadLeft(2, '0'),
                              timeItem.Seconds.ToString().PadLeft(2, '0'), timeItem.Milliseconds.ToString().PadLeft(3, '0')),
                adr,
                data
            };
            if ((indexItem % 2) == 0)
            {
                data_l.ViewT = ViewMessage_1;
            }
            else
            {
                data_l.ViewT = ViewMessage_2;
            }
            if ((dkpWord.Flags & 0x1).Equals(0x1))
            {
                data_l.ViewT = ViewSynchroImpulse;
            }
            if ((dkpWord.Flags & 0x2).Equals(0x2))
            {
                data_l.ViewT = ViewError;
            }
            if ((dkpWord.Flags & 0x4).Equals(0x4))
            {
                data_l.ViewT = ViewOver;
            }
            return(data_l);
        }
Пример #6
0
        public string GetText(DpkWordItem word)
        {
            List <bool> fieldVal = new List <bool>();
            List <bool> dataVal  = Service.ConvertFromInt(word.DATA, 24);

            for (int i = FirstBit - 9; i < (CountBits + FirstBit - 9); i++)
            {
                fieldVal.Add(dataVal[i]);
            }
            string res = string.Format("{0} {1}", NameField, Service.ConvertFrom(fieldVal));

            foreach (List <bool> key in Values.Keys)
            {
                if (Service.IsEqual(fieldVal, key))
                {
                    res += " - " + Values[key]; break;
                }
            }
            return(res);
        }
Пример #7
0
 public void SetDpkWord(DpkWordItem word)
 {
     binView_Address.SetValues(Service.ConvertFromInt(word.ADR, 8));
     binView_Data.SetValues(Service.ConvertFromInt(word.DATA, 24));
 }