Beispiel #1
0
        private void UpdateDataProcess()
        {
            while (m_ThreadUpdateDataAlive)
            {
                //
                //VERY HIGH SPEED
                //
                //Información que se pide cada 500ms
                UpdateAllInfoPort();


                //
                //HIGH SPEED
                //
                if (m_ContUpdateDataHigh > 0)
                {
                    m_ContUpdateDataHigh--;
                }
                else
                {
                    UpdateStationError();

                    //Tool Parameters
                    UpdateAllToolParam();

                    m_ContUpdateDataHigh = HIGH_SPEED_UPDATE_DATA - 1;
                }


                //
                //MEDIUM SPEED
                //
                if (m_ContUpdateDataMedium > 0)
                {
                    m_ContUpdateDataMedium--;
                }
                else
                {
                    //Station Parameters
                    UpdateStationParam();

                    m_ContUpdateDataMedium = MEDIUM_SPEED_UPDATE_DATA - 1;
                }


                //
                //SLOW SPEED
                //
                if (m_ContUpdateDataSlow > 0)
                {
                    m_ContUpdateDataSlow--;
                }
                else
                {
                    UpdateCounters();

                    m_ContUpdateDataSlow = SLOW_SPEED_UPDATE_DATA - 1;
                }


                //Para que los PC lentos puedan funcionar en modo contínuo se debe bajar la velocidad
                int timeUpdateData = TIME_UPDATE_DATA;


                //
                //INITIALLY
                //
                if (!m_IsDataInitialized && m_IdTransactionDataInitialized == UInt32.MaxValue)
                {
                    //Pedir los micros una única vez
                    m_Frames_02.ReadDeviceVersions();

                    //Asegurar que se han pedido todos los datos de la estación al inicializar
                    m_IdTransactionDataInitialized = SetTransaction();
                }

                Thread.Sleep(timeUpdateData);
            }
        }