예제 #1
0
        /// <summary>
        /// 获取转台的静态信息
        /// </summary>
        /// <param name="VGuid"></param>
        /// <returns></returns>
        public static StaticDataOfTurntable GetStaticDataOfTurntable(Guid?VGuid)
        {
            StaticDataOfTurntable tmpStaticDataOfTurntable = new StaticDataOfTurntable();

            tmpStaticDataOfTurntable.GuidDeviceID = null;
            foreach (CameraList mc in CameraList_Dictionary.Values)
            {
                if (mc.DeviceID == VGuid)
                {
                    tmpStaticDataOfTurntable.GuidDeviceID      = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].DeviceID;
                    tmpStaticDataOfTurntable.Name              = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].Name;              /**转台名称*/
                    tmpStaticDataOfTurntable.CommunicationType = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].CommunicationType; /**通信类型*/
                    tmpStaticDataOfTurntable.CommunicationID   = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].CommunicationID;   /**通信ID*/
                    tmpStaticDataOfTurntable.StationId         = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].StationID;
                    tmpStaticDataOfTurntable.TypeId            = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].TypeID;
                    tmpStaticDataOfTurntable.Lon = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].Lon;                               /**经度*/
                    tmpStaticDataOfTurntable.Lat = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].Lat;                               /**纬度*/
                    tmpStaticDataOfTurntable.Alt = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].Alt;                               /**海拔*/
                    tmpStaticDataOfTurntable.ErectingHeightType = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].ErectingHeightType; /**架设高度类型*/
                    tmpStaticDataOfTurntable.ErectingHeight     = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].ErectingHeight;     /**架设高度*/
                    tmpStaticDataOfTurntable.AzimuthAngle       = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].AzimuthAngle;       /**偏北角*/
                    tmpStaticDataOfTurntable.ProtocolType       = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].ProtocolType;       /**协议类型*/
                    tmpStaticDataOfTurntable.TurntableAddr      = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].TurntableAddr;      /**转台协议地址*/
                    tmpStaticDataOfTurntable.CCDAddr            = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].CCDAddr;            /**白光协议地址*/
                    tmpStaticDataOfTurntable.IRAddr             = StaticDataOfTurntable_Dictionary[mc.Turntable_PTZ_DeviceID.ToString()].IRAddr;             /**红外协议地址*/
                    break;
                }
            }
            return(tmpStaticDataOfTurntable);
        }
예제 #2
0
 /// <summary>
 /// 调用预置位
 /// </summary>
 /// <param name="tmp_StaticData"></param>
 /// <param name="tmpPresetData"></param>
 public static void SetPreset_Business(StaticDataOfTurntable tmp_StaticData, PresetList tmpPresetData)
 {
     if (tmp_StaticData.GuidDeviceID != null)
     {
         SetPreset(tmp_StaticData, tmpPresetData);
     }
 }
예제 #3
0
        /// <summary>
        /// 转台控制
        /// </summary>
        /// <param name="iDeviceID">转台ID</param>
        /// <param name="iAction">控制类型</param>
        /// <param name="iSpeed">速度</param>
        /// <param name="iValue">值</param>
        /// <returns></returns>
        static string SetTurntable(StaticDataOfTurntable tmpStaticData, int iAction, int iSpeed, int iValue)
        {
            string strTurntableState = "";

            if (tmpStaticData.ProtocolType.ToString() == "-1")
            {
                strTurntableState = "该设备控制信息有误,需检查控制信息";
            }

            switch (tmpStaticData.ProtocolType)
            {
            case (int)ControlProtocolType.GS209_RY:    /** 209sRY*/
            { Protocol209sRY_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS209_SR:    /** 209sSR*/
            { Protocol209sSR_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS209_PT100:    /** 209sPT100*/
            { Protocol209sPT100_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString(), iValue); }
            break;

            case (int)ControlProtocolType.GS368_BJ:    /** 368s*/
            { Protocol368s_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS508_Ali:    /** 508s*/
                //{ Protocol508s_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());}
                break;

            case (int)ControlProtocolType.GS11s:    /** 11s*/
            { Protocol11s_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.CIVIL_GPL:    /** 高普乐*/
                //{ Protocol209sSR_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());}
                break;

            case (int)ControlProtocolType.GS5308_OP3:    /** OP3*/
            { ProtocolOP3_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS211_OT11:    /** OT11*/
            { Protocol211_OT11_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.CIVIL_PelcoD:    /** PelcoD*/
            { ProtocolPelcoD_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.CIVIL_PelcoP:    /** PelcoP*/
            { Protocol209sSR_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;
            }
            return(strTurntableState);
        }
예제 #4
0
        static void SectorScanControlOff(StaticDataOfTurntable tmpStaticData)
        {
            string strTurntableState = "";

            if (tmpStaticData.ProtocolType.ToString() == "-1")
            {
                strTurntableState = "该设备控制信息有误,需检查控制信息";
            }
            switch (tmpStaticData.ProtocolType)
            {
            case (int)ControlProtocolType.GS209_RY:    /** 209sRY*/
            { Protocol209sRY_Business.SetSanScan_Off(tmpStaticData.TurntableAddr, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS209_SR:    /** 209sSR*/
            { Protocol209sSR_Business.SetSanScan_Off(tmpStaticData.TurntableAddr, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS209_PT100:    /** 209sPT100*/
            { Protocol209sPT100_Business.SetSanScan_Off(tmpStaticData.TurntableAddr, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS368_BJ:    /** 368s*/
            { Protocol368s_Business.SetSanScan_Off(tmpStaticData.TurntableAddr, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
            break;

            case (int)ControlProtocolType.GS508_Ali:    /** 508s*/
                //{ Protocol508s_Business.SetSanScan_Open(tmpStaticData.TurntableAddr, i_HorizontalSt, i_HorizontalSt, i_Hspeed, i_VerticalSt, i_VerticalEnd, i_Vspeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;

            case (int)ControlProtocolType.GS11s:    /** 11s*/
                //{ Protocol11s_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;

            case (int)ControlProtocolType.CIVIL_GPL:    /** 高普乐*/
                //{ Protocol209sSR_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());}
                break;

            case (int)ControlProtocolType.GS5308_OP3:    /** OP3*/
                //{ ProtocolOP3_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;

            case (int)ControlProtocolType.GS211_OT11:    /** OT11*/
                //{ Protocol211_OT11_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;

            case (int)ControlProtocolType.CIVIL_PelcoD:    /** PelcoD*/
                //{ ProtocolPelcoD_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;

            case (int)ControlProtocolType.CIVIL_PelcoP:    /** PelcoP*/
                //{ Protocol209sSR_Business.SetTurntable(iAction, tmpStaticData.TurntableAddr.ToString(), iSpeed, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString()); }
                break;
            }
        }
예제 #5
0
        /// <summary>
        /// 红外控制
        /// </summary>
        /// <param name="tmp_ControlData"></param>
        /// <returns></returns>
        public static string SetIRControl_Business(ControlData tmp_ControlData)
        {
            string strIRControlState = "";

            tmp_StaticDataT = new StaticDataOfTurntable();
            tmp_StaticDataT = ControlBusinessData.GetStaticDataOfTurntable(tmp_ControlData.VideoGuid);
            if (tmp_StaticDataT.GuidDeviceID != null)
            {
                SetIR(tmp_StaticDataT, tmp_ControlData.iAction, tmp_ControlData.iSpeed, tmp_ControlData.Parameter);
            }
            return(strIRControlState);
        }
예제 #6
0
        /// <summary>
        /// 扇扫结束
        /// </summary>
        /// <param name="tmpSectorScanData"></param>
        /// <returns></returns>
        public static string SectorScanControlOff_Business(SectorScanData tmpSectorScanData)
        {
            string strSectorScanControl = "";

            tmp_StaticDataT = new StaticDataOfTurntable();
            tmp_StaticDataT = ControlBusinessData.GetStaticDataOfTurntable(tmpSectorScanData.VideoGuid);
            if (tmp_StaticDataT.GuidDeviceID != null)
            {
                SectorScanControlOff(tmp_StaticDataT);
            }
            return(strSectorScanControl);
        }
예제 #7
0
        /// <summary>
        /// 扇扫开启
        /// </summary>
        /// <param name="tmpSectorScanData"></param>
        /// <returns></returns>
        public static string SectorScanControlOpen_Business(SectorScanData tmpSectorScanData)
        {
            string strSectorScanControl = "";

            tmp_StaticDataT = new StaticDataOfTurntable();
            tmp_StaticDataT = ControlBusinessData.GetStaticDataOfTurntable(tmpSectorScanData.VideoGuid);
            if (tmp_StaticDataT.GuidDeviceID != null)
            {
                SectorScanControlOpen(tmp_StaticDataT, tmpSectorScanData.i_HorizontalSt, tmpSectorScanData.i_HorizontalEnd, tmpSectorScanData.i_Hspeed,
                                      tmpSectorScanData.i_VerticalSt, tmpSectorScanData.i_VerticalEnd, tmpSectorScanData.i_Vspeed);
            }
            return(strSectorScanControl);
        }
예제 #8
0
        static string SetPreset_Business(Guid GuidDeviceID)//, string strPresetName)
        {
            string strSetPresetState = "";

            tmp_StaticDataT = new StaticDataOfTurntable();
            TurntablePreset tmp_Preset = new TurntablePreset();

            if (ControlInterface.Dictionary_StaticDataT.ContainsKey(GuidDeviceID))
            {
                tmp_StaticDataT.ProtocolType      = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].ProtocolType;
                tmp_StaticDataT.TurntableAddr     = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].TurntableAddr;
                tmp_StaticDataT.CCDAddr           = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].CCDAddr;
                tmp_StaticDataT.IRAddr            = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].IRAddr;
                tmp_StaticDataT.CommunicationID   = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].CommunicationID;
                tmp_StaticDataT.CommunicationType = ControlInterface.Dictionary_StaticDataT[GuidDeviceID].CommunicationType;
            }

            return(strSetPresetState);
        }
예제 #9
0
        /// <summary>
        /// 调用预置位
        /// </summary>
        /// <param name="tmpTurntablePresetData"></param>
        static public void SetPreset(TurntablePresetData tmpTurntablePresetData)
        {
            tmp_StaticDataT = new StaticDataOfTurntable();
            tmp_StaticDataT = ControlBusinessData.GetStaticDataOfTurntable(tmpTurntablePresetData.VideoGuid);

            PresetListRepository tmpPresetListRepository = new PresetListRepository();
            List <PresetList>    tmp = tmpPresetListRepository.GetList();

            if (tmp.Count > 0)
            {
                for (int i = 0; i < tmp.Count; i++)
                {
                    if (tmp[i].PresetName == tmpTurntablePresetData.PresetName && tmp[i].CameraDeviceID == tmpTurntablePresetData.VideoGuid)
                    {
                        ProtocolBusinessLogic.SetPreset_Business(tmp_StaticDataT, tmp[i]);
                        break;
                    }
                }
            }
        }
예제 #10
0
        /// <summary>
        /// 设置预置位
        /// </summary>
        /// <param name="tmpStaticData"></param>
        /// <param name="tmpPresetData"></param>
        /// <returns></returns>
        static string GetPreset(StaticDataOfTurntable tmpStaticData, PresetList tmpPresetData)
        {
            string strPresetState = "";

            switch (tmpStaticData.ProtocolType)
            {
            case (int)ControlProtocolType.CIVIL_PelcoD:
            {
                ProtocolPelcoD_Business.GetPreset(tmpStaticData.TurntableAddr.ToString(),
                                                  tmpPresetData.PresetNo, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            case (int)ControlProtocolType.CIVIL_PelcoP:
            {
            }
            break;
            }
            return(strPresetState);
        }
예제 #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="strPresetName"></param>
        /// <returns></returns>
        //static string AddPreset(string strPresetName)
        //{
        //    string strPresetState = "";

        //    return strPresetState;
        //}
        /// <summary>
        /// 调用预置位
        /// </summary>
        /// <param name="tmpStaticData"></param>
        /// <param name="tmpPresetData"></param>
        /// <returns></returns>
        static string SetPreset(StaticDataOfTurntable tmpStaticData, PresetList tmpPresetData)
        {
            string strPresetState = "";

            switch (tmpStaticData.ProtocolType)
            {
            /// 209所
            case (int)ControlProtocolType.GS209_RY:
            {
                Protocol209sRY_Business.SetPresetTurntable(tmpStaticData.TurntableAddr.ToString(),
                                                           Convert.ToInt32(tmpPresetData.Horizontal_Data), Convert.ToInt32(tmpPresetData.Vertical_Data),
                                                           tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
                Thread.Sleep(50);
                Protocol209sRY_Business.SetPresetCCD(tmpStaticData.CCDAddr.ToString(),
                                                     Convert.ToInt32(tmpPresetData.CCDorIR_Depth), Convert.ToInt32(tmpPresetData.CCDorIR_Focus),
                                                     tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            /// 209所-神戎
            case (int)ControlProtocolType.GS209_SR:
            {
                Protocol209sSR_Business.SetPresetTurntable(tmpStaticData.TurntableAddr.ToString(),
                                                           Convert.ToInt32(tmpPresetData.Horizontal_Data), Convert.ToInt32(tmpPresetData.Vertical_Data),
                                                           tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
                Thread.Sleep(50);
                Protocol209sSR_Business.SetPresetCCD(tmpStaticData.CCDAddr.ToString(),
                                                     Convert.ToInt32(tmpPresetData.CCDorIR_Depth), Convert.ToInt32(tmpPresetData.CCDorIR_Focus),
                                                     tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            /// 209所—PT100
            case (int)ControlProtocolType.GS209_PT100:
            {
                Protocol209sPT100_Business.SetPresetTurntable(tmpStaticData.TurntableAddr.ToString(),
                                                              Convert.ToInt32(tmpPresetData.Horizontal_Data), Convert.ToInt32(tmpPresetData.Vertical_Data),
                                                              tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
                Thread.Sleep(50);
                Protocol209sPT100_Business.SetPresetCCD(tmpStaticData.CCDAddr.ToString(),
                                                        Convert.ToInt32(tmpPresetData.CCDorIR_Depth), Convert.ToInt32(tmpPresetData.CCDorIR_Focus),
                                                        tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            /// 368所-白家
            case (int)ControlProtocolType.GS368_BJ:
            {
                Protocol368s_Business.SetPresetTurntable(tmpStaticData.TurntableAddr.ToString(),
                                                         Convert.ToInt32(tmpPresetData.Horizontal_Data), Convert.ToInt32(tmpPresetData.Vertical_Data),
                                                         tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
                Thread.Sleep(50);
                Protocol368s_Business.SetPresetCCD(tmpStaticData.CCDAddr.ToString(),
                                                   Convert.ToInt32(tmpPresetData.CCDorIR_Depth), Convert.ToInt32(tmpPresetData.CCDorIR_Focus),
                                                   tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            /// 368所-吉达 神戎
            case (int)ControlProtocolType.GS368_JDSR:
                break;

            /// 368所-吉达 大力
            case (int)ControlProtocolType.GS368_JDDL:
                break;

            /// 508-阿里
            case (int)ControlProtocolType.GS508_Ali:
                break;

            /// 11所
            case (int)ControlProtocolType.GS11s:
                break;

            /// 5308所-OP3
            case (int)ControlProtocolType.GS5308_OP3:
                break;

            /// 211所-OT11
            case (int)ControlProtocolType.GS211_OT11:
                break;

            /// 民用-高普乐
            case (int)ControlProtocolType.CIVIL_GPL:
                break;

            /// 民用-PelcoD通用
            case (int)ControlProtocolType.CIVIL_PelcoD:
            {
                ProtocolPelcoD_Business.SetPreset(tmpStaticData.TurntableAddr.ToString(),
                                                  tmpPresetData.PresetNo, tmpStaticData.CommunicationID, tmpStaticData.CommunicationType.ToString());
            }
            break;

            /// 民用-PelcoP通用
            case (int)ControlProtocolType.CIVIL_PelcoP:
                break;
            }
            return(strPresetState);
        }