Esempio n. 1
0
        //private void SynTime()
        //{
        //    while (m_SynTimeFlag)
        //    {
        //        uint dwYear = (uint)System.DateTime.Now.Year;
        //        uint dwMonth = (uint)System.DateTime.Now.Month;
        //        uint dwDay = (uint)System.DateTime.Now.Day;
        //        uint dwHour = (uint)System.DateTime.Now.Hour;
        //        uint dwMinute = (uint)System.DateTime.Now.Minute;
        //        uint dwSecond = (uint)System.DateTime.Now.Second;
        //        int reVal = 0;
        //        m_VideoRecord.SDK_SetupDeviceTime(m_VideoHandle, dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond, ref reVal);
        //        for (int i = 0; i < 60*10 ; i++)
        //        {
        //            if (m_SynTimeFlag)
        //                break;
        //            System.Threading.Thread.Sleep(1000);
        //        }
        //    }
        //}
        /// <summary>
        /// ���������Ҫ���豸ͨѶ�߳�
        /// </summary>
        public void StartUse()
        {
            //���ʱ��ͬ���߳�
            //if (m_VideoHandle > 0)
            //{
            //    m_SynTimeFlag = true;
            //    m_SynTimeThread = new Thread(new ThreadStart(SynTime));
            //    m_SynTimeThread.Start();
            //}

            int i = 0;//��10�Σ���ʱ�DZ�һ�λ�򲻿�
            if (UseMeter)
            {
                m_CoolSerialForMeter = new CoolSerial(METERPARA);
                m_CoolSerialForMeter.DeviceType = METERTYPE;//�DZ����ͣ�������δ�������
                m_CoolSerialForMeter.DeviceName = POINTNAME;
                while (m_CoolSerialForMeter.StateInfo != "open" && i < 10)
                {
                    m_CoolSerialForMeter.Open();
                    m_CoolSerialForMeter.StartUse();
                    i++;
                }

            }

            if (UseLED)
            {
                m_CoolSerialForLed = new CoolSerial(LEDPARA);
                m_CoolSerialForLed.DeviceType = LEDTYPE;//LED���ͣ�������δ�������
                m_CoolSerialForLed.DeviceName = POINTNAME;
                if (m_CoolSerialForLed.Open())
                {
                    //add code here
                }
            }

            if (UseReader)
            {
                m_CoolReader = new CoolReader(READERPARA);
                m_CoolReader.DeviceType = READERTYPE;//���������ͣ�������δ�������
                m_CoolReader.DeviceName = POINTNAME;
                if (m_CoolReader.Open())
                {
                    m_CoolReader.StartUse();
                }
            }

            if (UseDisplay)
            {
                m_CoolDisplay = new CoolDisplay(DISPLAYPARA);
                m_CoolDisplay.DeviceType = DISPLAYTYPE;//Һ�������ͣ�������δ�������
                m_CoolDisplay.DeviceName = POINTNAME;
                m_CoolDisplay.Open();
            }

            if (UseRtu)
            {
                m_CoolRtu = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                m_CoolRtu.DeviceName = POINTNAME;
                if (m_CoolRtu.Connect2Server())
                {
                    m_CoolRtu.StartUse();
                }

                m_CoolRtuForCommand = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                m_CoolRtuForCommand.DeviceName = POINTNAME;
                if (m_CoolRtuForCommand.Connect2Server())
                {
                }

            }

            m_bRunning = true;
            m_hThread = new System.Threading.Thread(new System.Threading.ThreadStart(DataCollectThread));
            m_hThread.Start();
        }
Esempio n. 2
0
        //private void SynTime()
        //{
        //    while (m_SynTimeFlag)
        //    {
        //        uint dwYear = (uint)System.DateTime.Now.Year;
        //        uint dwMonth = (uint)System.DateTime.Now.Month;
        //        uint dwDay = (uint)System.DateTime.Now.Day;
        //        uint dwHour = (uint)System.DateTime.Now.Hour;
        //        uint dwMinute = (uint)System.DateTime.Now.Minute;
        //        uint dwSecond = (uint)System.DateTime.Now.Second;
        //        int reVal = 0;

        //        m_VideoRecord.SDK_SetupDeviceTime(m_VideoHandle, dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond, ref reVal);

        //        for (int i = 0; i < 60*10 ; i++)
        //        {
        //            if (m_SynTimeFlag)
        //                break;
        //            System.Threading.Thread.Sleep(1000);
        //        }
        //    }
        //}

        /// <summary>
        /// 启动所有需要的设备通讯线程
        /// </summary>
        public void StartUse()
        {
            //启动时间同步线程
            //if (m_VideoHandle > 0)
            //{
            //    m_SynTimeFlag = true;
            //    m_SynTimeThread = new Thread(new ThreadStart(SynTime));
            //    m_SynTimeThread.Start();
            //}

            int i = 0;//打开10次,有时仪表一次会打不开

            if (UseMeter)
            {
                m_CoolSerialForMeter            = new CoolSerial(METERPARA);
                m_CoolSerialForMeter.DeviceType = METERTYPE;//仪表类型,决定如何处理事务
                m_CoolSerialForMeter.DeviceName = POINTNAME;
                while (m_CoolSerialForMeter.StateInfo != "open" && i < 10)
                {
                    m_CoolSerialForMeter.Open();
                    m_CoolSerialForMeter.StartUse();
                    i++;
                }
            }

            if (UseLED)
            {
                m_CoolSerialForLed            = new CoolSerial(LEDPARA);
                m_CoolSerialForLed.DeviceType = LEDTYPE;//LED类型,决定如何处理事务
                m_CoolSerialForLed.DeviceName = POINTNAME;
                if (m_CoolSerialForLed.Open())
                {
                    //add code here
                }
            }

            if (UseReader)
            {
                m_CoolReader            = new CoolReader(READERPARA);
                m_CoolReader.DeviceType = READERTYPE;//读卡器类型,决定如何处理事务
                m_CoolReader.DeviceName = POINTNAME;
                if (m_CoolReader.Open())
                {
                    m_CoolReader.StartUse();
                }
            }

            if (UseDisplay)
            {
                m_CoolDisplay            = new CoolDisplay(DISPLAYPARA);
                m_CoolDisplay.DeviceType = DISPLAYTYPE;//液晶屏类型,决定如何处理事务
                m_CoolDisplay.DeviceName = POINTNAME;
                m_CoolDisplay.Open();
            }

            if (UseRtu)
            {
                m_CoolRtu            = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                m_CoolRtu.DeviceName = POINTNAME;
                if (m_CoolRtu.Connect2Server())
                {
                    m_CoolRtu.StartUse();
                }

                m_CoolRtuForCommand            = new CoolRtu(RTUIP, Int32.Parse(RTUPORT));
                m_CoolRtuForCommand.DeviceName = POINTNAME;
                if (m_CoolRtuForCommand.Connect2Server())
                {
                }
            }

            m_bRunning = true;
            m_hThread  = new System.Threading.Thread(new System.Threading.ThreadStart(DataCollectThread));
            m_hThread.Start();
        }