/// <summary> /// 扇扫关闭 /// </summary> /// <param name="strAddr"></param> /// <returns></returns> static public string SetSanScan_Off(int iAddr, Guid?CommunicationGuid, string CommunicationType) { string strSanScanResult = ""; byte[] tmpSanScan_Off_V = Protocol209sPT100.Protocol_Turntable(125, iAddr, 0); CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmpSanScan_Off_V); Thread.Sleep(50); byte[] tmpSanScan_Off_H = Protocol209sPT100.Protocol_Turntable(114, iAddr, 0); CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmpSanScan_Off_H); return(strSanScanResult); }
/// <summary> /// 转台控制 /// </summary> /// <param name="iAction">动作</param> /// <param name="iAddr">地址</param> /// <param name="iSpeed">速度</param> /// <param name="iCommunicationID">通信ID</param> /// <returns></returns> static public string SetTurntable(int iAction, string strAddr, int iSpeed, Guid?CommunicationGuid, string CommunicationType, int iValue) { string strTurntableResult = ""; byte[] tmp_byte; if (iAction == (int)HDCommand.InitialPoint)//复位 { tmp_byte = Protocol209sPT100.Protocol_Turntable(101, Convert.ToInt32(strAddr), iSpeed); CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(128, Convert.ToInt32(strAddr), iSpeed); CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.MotorOpen) /**电机开*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable(102, Convert.ToInt32(strAddr), iSpeed); /**水平-电机开*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(126, Convert.ToInt32(strAddr), iSpeed);/**俯仰-电机开*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.MotorOpen) /**电机关*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable(103, Convert.ToInt32(strAddr), iSpeed); /**水平-电机关*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(127, Convert.ToInt32(strAddr), iSpeed);/**俯仰-电机关*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.DirectionStop) /**停*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable(114, Convert.ToInt32(strAddr), iSpeed); /**水平-停*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(125, Convert.ToInt32(strAddr), iSpeed);/**俯仰-停*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(123, Convert.ToInt32(strAddr), iSpeed);/**水平-查询*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(124, Convert.ToInt32(strAddr), iSpeed);/**俯仰-查询*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.LeftUp) /**左上*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Up, Convert.ToInt32(strAddr), iSpeed); /**水平控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Left, Convert.ToInt32(strAddr), iSpeed);/**俯仰控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.LeftDown) /**左下*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Down, Convert.ToInt32(strAddr), iSpeed); /**水平控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Left, Convert.ToInt32(strAddr), iSpeed);/**俯仰控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.RightUp) /**右上*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Up, Convert.ToInt32(strAddr), iSpeed); /**水平控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Right, Convert.ToInt32(strAddr), iSpeed);/**俯仰控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.RightDown) /**右下*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Down, Convert.ToInt32(strAddr), iSpeed); /**水平控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable((int)HDCommand.Right, Convert.ToInt32(strAddr), iSpeed);/**俯仰控制*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else if (iAction == (int)HDCommand.HorizontalQuery || iAction == (int)HDCommand.VerticalQuery) /**获取转台方位、俯仰*/ { tmp_byte = Protocol209sPT100.Protocol_Turntable(123, Convert.ToInt32(strAddr), iSpeed); /**水平-查询*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); Thread.Sleep(50); tmp_byte = Protocol209sPT100.Protocol_Turntable(124, Convert.ToInt32(strAddr), iSpeed);/**俯仰-查询*/ CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } else { tmp_byte = Protocol209sPT100.Protocol_Turntable(iAction, Convert.ToInt32(strAddr), iSpeed); CommunicationTransmission.CommunicationWrite(CommunicationGuid, CommunicationType, tmp_byte); } return(strTurntableResult); }