Пример #1
0
        public override void OnCurDataProcessed(int[] cnlNums, SrezTableLight.Srez curSrez)
        {
            // the method executes when new current data have been processed by the server,
            // the channel numbers are sorted in ascending order
            // метод выполняется после обработки новых текущих данных сервером,
            // номера каналов упорядочены по возрастанию
            const int MyCnlNum = 1;
            const int MyKpNum = 1;
            const int MyCmdNum = 1;
            const double MyCmdVal = 1.0;

            // send a command if the value of MyCnlNum channel greater than 200
            WriteToLog("Process current data by the module " + Name, Log.ActTypes.Action);
            SrezTableLight.CnlData cnlData;
            if (curSrez.GetCnlData(MyCnlNum, out cnlData) && cnlData.Val > 200)
            {
                WriteToLog("Send command by the module " + Name, Log.ActTypes.Action);
                Command cmd = new Command(BaseValues.CmdTypes.Standard);
                cmd.KPNum = MyKpNum;
                cmd.CmdNum = MyCmdNum;
                cmd.CmdVal = MyCmdVal;
                PassCommand(cmd);
            }
        }
Пример #2
0
        /// <summary>
        /// Экспортировать срез
        /// </summary>
        private void ExportSrez(DbCommand cmd, SrezTableLight.Srez srez)
        {
            DataSource.SetCmdParam(cmd, "dateTime", srez.DateTime);

            foreach (int cnlNum in srez.CnlNums)
            {
                SrezTableLight.CnlData cnlData;
                if (srez.GetCnlData(cnlNum, out cnlData))
                {
                    DataSource.SetCmdParam(cmd, "cnlNum", cnlNum);
                    DataSource.SetCmdParam(cmd, "val", cnlData.Val);
                    DataSource.SetCmdParam(cmd, "stat", cnlData.Stat);
                    cmd.ExecuteNonQuery();
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Создать срез с заданными номерами каналов, используя данные из исходного среза
        /// </summary>
        private SrezTableLight.Srez CreateSrez(DateTime srezDT, int[] cnlNums, SrezTableLight.Srez sourceSrez)
        {
            int cnlCnt = cnlNums.Length;
            SrezTableLight.Srez srez = new SrezTableLight.Srez(srezDT, cnlCnt);

            for (int i = 0; i < cnlCnt; i++)
            {
                int cnlNum = cnlNums[i];
                SrezTableLight.CnlData cnlData;
                sourceSrez.GetCnlData(cnlNum, out cnlData);

                srez.CnlNums[i] = cnlNum;
                srez.CnlData[i] = cnlData;
            }

            return srez;
        }