/// <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); }
/// <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); } }
/// <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); }
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; } }
/// <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); }
/// <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); }
/// <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); }
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); }
/// <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; } } } }
/// <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); }
/// <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); }