Beispiel #1
0
        public void InitTcp()
        {
            //和Camera通信
            m_MyTcpClientVisual = new MyTcpClient();
            if (m_MyTcpClientVisual != null)
            {
                IPAddress CameraIp   = IPAddress.Parse(Profile.m_Config.CameraIp);
                int       CameraPort = Profile.m_Config.CameraPort;
                m_MyTcpClientVisual.CreateConnect(CameraIp, CameraPort);
                if (!m_MyTcpClientVisual.IsConnected)
                {
                    DataStruct.SysStat.CameraOk = false;
                    m_SysAlarm.SetAlarm(SysAlarm.Type.Camera, true);
                }
                else
                {
                    DataStruct.SysStat.CameraOk = true;
                    m_SysAlarm.SetAlarm(SysAlarm.Type.Camera, false);
                }
            }

            //和单片机通信
            m_ArmControler.Open();
            m_MyTcpClientArm = m_ArmControler.m_MyTcpClientArm[(int)Board.Controler];
            if (!m_MyTcpClientArm.IsConnected)
            {
                DataStruct.SysStat.ArmControlerOk = false;
                m_SysAlarm.SetAlarm(SysAlarm.Type.ARM, true);
            }
            else
            {
                DataStruct.SysStat.ArmControlerOk = true;
                m_SysAlarm.SetAlarm(SysAlarm.Type.ARM, false);

                //设置电机默认参数
                InitArmControlerAxisPamera();
            }

            //创建Tcp Server
            m_MyTcpServer = MyTcpServer.GetInstance();
            if (m_MyTcpServer != null)
            {
                IPAddress ServerIp   = IPAddress.Parse(Profile.m_Config.VisualStationServerIp);
                int       ServerPort = Profile.m_Config.VisualStationServerPort;
                bool      Re         = m_MyTcpServer.CreatServer(ServerIp, ServerPort);
                if (!Re)
                {
                    DataStruct.SysStat.ServerOk = false;
                    m_SysAlarm.SetAlarm(SysAlarm.Type.Server, true);
                }
                else
                {
                    DataStruct.SysStat.ServerOk = true;
                    m_SysAlarm.SetAlarm(SysAlarm.Type.Server, false);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 定义公有方法提供一个全局访问点,同时你也可以定义公有属性来提供全局访问点
        /// </summary>
        /// <returns></returns>
        public static MyTcpServer GetInstance()
        {
            if (m_UniqueTcpServer == null)
            {
                lock (m_Locker)
                {
                    if (m_UniqueTcpServer == null)
                    {
                        m_UniqueTcpServer = new MyTcpServer();
                    }
                }
            }

            return(m_UniqueTcpServer);
        }