Esempio n. 1
0
 private bool InitBords()
 {
     if (!BordDll.DoInit())
     {
         return(false);
     }
     foreach (var info in ProDefine.g_ChannelInfo)
     {
         BordDll.StartChannel((uint)info.channelNumber);
     }
     return(true);
 }
Esempio n. 2
0
        private void WriteData(int eclipstime)
        {
            try
            {
                List <FucntionChannelInfo> chList = GetStepChannelList();

                foreach (var info in chList)
                {
                    string ChannelType = GetNowChannelType(info.FunctionName);
                    //foreach (var info_i in info)
                    {
                        if (ChannelType == "AO")
                        {
                            double WriteValue = GetWriteValue(eclipstime, info.YBNumber, info.FunctionName, info.ChannelNumber, ChannelType);
                            BordDll.WriteAOData((uint)info.ChannelNumber, WriteValue);
                        }
                        else if (ChannelType == "DO")
                        {
                            double WriteValue = GetWriteValue(eclipstime, info.YBNumber, info.FunctionName, info.ChannelNumber, ChannelType);


                            if ((WriteValue != 0) || (WriteValue != 1))
                            {
                                WriteValue = 0;
                            }

                            byte tpByte = 0;
                            tpByte = (byte)WriteValue;
                            BordDll.WriteDOData((uint)info.ChannelNumber, tpByte);
                            //BordDll.WriteDOData_1();
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
            }
        }
Esempio n. 3
0
        private void ReadData(int EclipsTime)
        {
            try
            {
                List <FucntionChannelInfo> chList = GetStepChannelList();

                foreach (var info in chList)
                {
                    int PerRread1 = 5;
                    //foreach (var info_i in info.YBList)
                    {
                        int    Hz          = GetChannelHz(info.ChannelNumber, info.FunctionName, ref PerRread1);
                        string ChannelType = GetNowChannelType(info.FunctionName);
                        double flVolt      = 0;
                        double dfFreq      = 0;
                        double dfDuty      = 0;

                        if ((EclipsTime % Hz) == 0)
                        {
                            switch (ChannelType)
                            {
                            case "AI":
                                int      retRead = 0;
                                double[] bBuffer = new double[PerRread1];
                                BordDll.GetDataFromBord(info.ChannelNumber, bBuffer, PerRread1, ref retRead);

                                for (int i = 0; i < retRead; i++)
                                {
                                    YBData ydata = new YBData();
                                    ydata.ChannID    = info.ChannelNumber;
                                    ydata.ChannType  = ChannelType;
                                    ydata.DTTime     = EclipsTime;
                                    ydata.flVot      = bBuffer[i];
                                    ydata.YBName     = info.YBNumber.ToString();
                                    ydata.GNFunction = info.FunctionName;

                                    int returnValue = JudageAlarmData(EclipsTime, info.YBNumber, info.FunctionName, flVolt);
                                    ydata.DataInfo = returnValue;
                                    InsertDataToList(ydata);
                                    if (returnValue == 0)
                                    {
                                        lock (m_diskLock)
                                        {
                                            m_YBDataList.Add(ydata);
                                        }
                                    }
                                    else
                                    {
                                        lock (m_AlarmDiskLock)
                                        {
                                            m_AlarmList.Add(ydata);
                                        }
                                        lock (m_AlarmShowLock)
                                        {
                                            m_AlarmListShow.Add(ydata);
                                        }
                                    }
                                }

                                break;

                            case "CNT":
                                BordDll.GetCNTData((uint)info.ChannelNumber, ref flVolt, ref dfDuty);
                                YBData ydataCNT = new YBData();
                                ydataCNT.ChannID    = info.ChannelNumber;
                                ydataCNT.ChannType  = ChannelType;
                                ydataCNT.DTTime     = EclipsTime;
                                ydataCNT.flVot      = flVolt;
                                ydataCNT.YBName     = info.YBNumber.ToString();
                                ydataCNT.GNFunction = info.FunctionName;

                                int returnValueCNT = JudageAlarmData(EclipsTime, info.YBNumber, info.FunctionName, flVolt);
                                ydataCNT.DataInfo = returnValueCNT;
                                InsertDataToList(ydataCNT);
                                if (returnValueCNT == 0)
                                {
                                    lock (m_diskLock)
                                    {
                                        m_YBDataList.Add(ydataCNT);
                                    }
                                }
                                else
                                {
                                    lock (m_AlarmDiskLock)
                                    {
                                        m_AlarmList.Add(ydataCNT);
                                    }
                                    lock (m_AlarmShowLock)
                                    {
                                        m_AlarmListShow.Add(ydataCNT);
                                    }
                                }
                                break;
                            }
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
            }
        }