Example #1
0
 /// <summary>
 /// UPS数据解析
 /// </summary>
 /// <param name="receiveData"></param>
 /// <param name="serialPortID"></param>
 private static void UPSSerialData(byte[] receiveData, Guid serialPortID)
 {
     if (Protocol_Dictionary.ContainsKey(serialPortID) && COMType_Dictionary.ContainsKey(serialPortID))
     {
         COMType          mCOMType   = COMType_Dictionary[serialPortID];
         ProtocolAnalysis m_Analysis = Protocol_Dictionary[serialPortID];
         switch (mCOMType.strCOMType)
         {
         case (int)ControlProtocolType.UPS_3onedata:
         { m_Analysis.AnalysisUPS_3onedata(serialPortID, receiveData); }
         break;
         }
     }
 }
Example #2
0
        private static int GetDeviceComData(Guid strComDDeviceID)
        {
            int AddData = 0;

            if (!COMType_Dictionary.ContainsKey(strComDDeviceID))
            {
                if (turntableList != null)
                {
                    for (int i = 0; i < turntableList.Count; i++)
                    {
                        if (turntableList[i].CommunicationType == 1 && turntableList[i].CommunicationID == strComDDeviceID)
                        {
                            COMType tmp_COMType = new COMType();
                            tmp_COMType.strCOMType = turntableList[i].ProtocolType;
                            COMType_Dictionary.Add(strComDDeviceID, tmp_COMType);
                            AddData = 1;
                            break;
                        }
                    }
                }
                if (upsList != null)
                {
                    for (int j = 0; j < upsList.Count; j++)
                    {
                        if (upsList[j].CommunicationType == 1 && upsList[j].CommunicationID == strComDDeviceID)
                        {
                            COMType tmp_COMType = new COMType();
                            tmp_COMType.strCOMType = upsList[j].ProtocolType;
                            COMType_Dictionary.Add(strComDDeviceID, tmp_COMType);
                            AddData = 1;
                            break;
                        }
                    }
                }
            }
            return(AddData);
        }
Example #3
0
        /// <summary>
        /// 转台数据解析
        /// </summary>
        /// <param name="receiveData"></param>
        /// <param name="serialPortID"></param>
        private static void TurntableSerialData(byte[] receiveData, Guid serialPortID)
        {
            if (Protocol_Dictionary.ContainsKey(serialPortID) && COMType_Dictionary.ContainsKey(serialPortID))
            {
                COMType          mCOMType   = COMType_Dictionary[serialPortID];
                ProtocolAnalysis m_Analysis = Protocol_Dictionary[serialPortID];
                switch (mCOMType.strCOMType)
                {
                case (int)ControlProtocolType.GS209_RY:    /** 209sRY*/
                { m_Analysis.Analysis209s(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.GS209_SR:    /** 209sSR*/
                { m_Analysis.AnalysisSR(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.GS209_PT100:    /** 209sPT100*/
                { m_Analysis.Analysis209s_PT100(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.GS368_BJ:    /** 368s*/
                { m_Analysis.Analysis368s_BJ(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.GS508_Ali:    /** 508s*/
                {
                    if (receiveData[0] == 0xA1 || receiveData[0] == 0xA2)
                    {
                        if (receiveData[0] == 0xA2 && receiveData[3] == 0x50 && receiveData[4] == 0x41)
                        {
                        }
                        else
                        {
                            m_Analysis.Analysis508Ali(serialPortID, receiveData);
                        }
                    }
                }
                break;

                case (int)ControlProtocolType.GS11s:    /** 11s*/
                { }
                break;

                case (int)ControlProtocolType.CIVIL_GPL:    /** 高普乐*/
                { m_Analysis.AnalysisPelco_D_GPL(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.GS5308_OP3:    /** OP3*/
                { }
                break;

                case (int)ControlProtocolType.GS211_OT11:    /** OT11*/
                { }
                break;

                case (int)ControlProtocolType.CIVIL_PelcoD:    /** PelcoD*/
                { m_Analysis.AnalysisPelco_D(serialPortID, receiveData); }
                break;

                case (int)ControlProtocolType.CIVIL_PelcoP:    /** PelcoP*/
                { }
                break;
                }
            }
        }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void serialPort_DataReceivedEventHandler(object sender, SerialDataReceivedEventArgs e)
        {
            foreach (SerialCOMList SerialCOMList_Obj in DeviceType_Dictionary.Values)
            {
                try
                {
                    if (SerialPort_Dictionary[SerialCOMList_Obj.DeviceID].BytesToRead != 0)
                    {
                        ProtocolAnalysis m_Analysis = Protocol_Dictionary[SerialCOMList_Obj.DeviceID];
                        COMType          mCOMType   = COMType_Dictionary[SerialCOMList_Obj.DeviceID];
                        int    byteLen     = SerialPort_Dictionary[SerialCOMList_Obj.DeviceID].BytesToRead;
                        byte[] receiveData = new byte[byteLen];
                        SerialPort_Dictionary[SerialCOMList_Obj.DeviceID].Read(receiveData, 0, receiveData.Length);
                        switch (mCOMType.strCOMType)
                        {
                        case (int)ControlProtocolType.GS209_RY:    /** 209sRY*/
                        { m_Analysis.Analysis209s(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.GS209_SR:    /** 209sSR*/
                        { m_Analysis.AnalysisSR(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.GS209_PT100:    /** 209sPT100*/
                        { m_Analysis.Analysis209s_PT100(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.GS368_BJ:    /** 368s*/
                        { m_Analysis.Analysis368s_BJ(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.GS508_Ali:    /** 508s*/
                        {
                            if (receiveData[0] == 0xA1 || receiveData[0] == 0xA2)
                            {
                                if (receiveData[0] == 0xA2 && receiveData[3] == 0x50 && receiveData[4] == 0x41)
                                {
                                }
                                else
                                {
                                    m_Analysis.Analysis508Ali(SerialCOMList_Obj.DeviceID, receiveData);
                                }
                            }
                        }
                        break;

                        case (int)ControlProtocolType.GS11s:    /** 11s*/
                        { }
                        break;

                        case (int)ControlProtocolType.CIVIL_GPL:    /** 高普乐*/
                        { m_Analysis.AnalysisPelco_D_GPL(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.GS5308_OP3:    /** OP3*/
                        { }
                        break;

                        case (int)ControlProtocolType.GS211_OT11:    /** OT11*/
                        {  }
                        break;

                        case (int)ControlProtocolType.CIVIL_PelcoD:    /** PelcoD*/
                        { m_Analysis.AnalysisPelco_D(SerialCOMList_Obj.DeviceID, receiveData); }
                        break;

                        case (int)ControlProtocolType.CIVIL_PelcoP:    /** PelcoP*/
                        { }
                        break;
                            //case (int)ControlProtocolType.UPS_3onedata:
                            //    { }
                            //    break;
                        }
                    }
                }
                catch
                { }
            }
        }