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