Exemplo n.º 1
0
        private ReaderWriterLockSlim slim_namestage;   // синхронизатор имени этапа

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public TechStage(Tech tech)
        {
            if (tech != null)
            {
                _tech = tech;
                mutex = new Mutex();

                name_stg = string.Empty;

                slim_num  = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_time = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_state       = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_consumption = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_volume  = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_density = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_pressure    = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_temperature = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_namestage = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                state    = StageState.Default;
                stateRgr = StateRGR.Unpressed;
            }
            else
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs("Не удалось получить экземпляр приложения этапу", ErrorType.Fatal));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// инициализирует новый экземпляр класса
        /// </summary>
        /// <param name="_tech">Технологическая примочка</param>
        /// <param name="_parameters">Список параметров системы</param>
        /// <param name="_buffer">Буфер в который сохраняются данные</param>
        public Commutator(Tech _tech, Parameter[] _parameters, RSliceBuffer _buffer)
        {
            if (_tech != null && _parameters != null && _buffer != null)
            {
                tech = _tech;
                buffer = _buffer;

                parameters = _parameters;

                tech.onCalculate += new EventHandler(tech_onCalculate);
                tech.onJop += new EventHandler(tech_onJop);
                DevManClient.onReceive += new ReceivedEventHandler(DevManClient_onReceive);
            }
            else
                ErrorHandler.WriteToLog(this, new ErrorArgs("Коммутатор не смог выполнить инициализацию", ErrorType.Fatal));
        }
Exemplo n.º 3
0
        /// <summary>
        /// инициализирует новый экземпляр класса
        /// </summary>
        /// <param name="_tech">Технологическая примочка</param>
        /// <param name="_parameters">Список параметров системы</param>
        /// <param name="_buffer">Буфер в который сохраняются данные</param>
        public Commutator(Tech _tech, Parameter[] _parameters, RSliceBuffer _buffer)
        {
            if (_tech != null && _parameters != null && _buffer != null)
            {
                tech   = _tech;
                buffer = _buffer;

                parameters = _parameters;

                tech.onCalculate       += new EventHandler(tech_onCalculate);
                tech.onJop             += new EventHandler(tech_onJop);
                DevManClient.onReceive += new ReceivedEventHandler(DevManClient_onReceive);
            }
            else
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs("Коммутатор не смог выполнить инициализацию", ErrorType.Fatal));
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public TechStages(Tech tech)
        {
            if (tech != null)
            {
                _tech  = tech;
                stages = new List <TechStage>();

                slim       = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slimVolume = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                totalVolume    = 0.0f;
                proccessVolume = 0.0f;

                rgrOn = DateTime.MinValue;
            }
            else
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs("Не передали экземпляр технологии в TechStages", ErrorType.Fatal));
            }
        }
Exemplo n.º 5
0
        private Tech _tech = null; // технология

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public TechStages(Tech tech)
        {
            if (tech != null)
            {
                _tech = tech;
                stages = new List<TechStage>();

                slim = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slimVolume = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                totalVolume = 0.0f;
                proccessVolume = 0.0f;

                rgrOn = DateTime.MinValue;
            }
            else
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs("Не передали экземпляр технологии в TechStages", ErrorType.Fatal));
            }
        }
Exemplo n.º 6
0
        private Tech _tech; // технология

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        public TechStage(Tech tech)
        {
            if (tech != null)
            {
                _tech = tech;
                mutex = new Mutex();

                name_stg = string.Empty;

                slim_num = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_time = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_state = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_consumption = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_volume = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_density = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_pressure = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
                slim_temperature = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                slim_namestage = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);

                state = StageState.Default;
                stateRgr = StateRGR.Unpressed;
            }
            else
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs("Не удалось получить экземпляр приложения этапу", ErrorType.Fatal));
            }
        }
Exemplo n.º 7
0
        protected Tech tech = null; // технологическая примочка

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        protected Application()
        {
            try
            {
                ErrorHandler.InitializeErrorHandler();
                ErrorHandler.OnExit += new EventHandler(ErrorHandler_OnExit);

                buffer = new RSliceBuffer(72000);
                manager = new DataBaseManager();

                projects = new List<Project>();
                commands = new List<BlockViewCommand>();

                parameters = new Parameter[256];
                for (int index = 0; index < parameters.Length; index++)
                {
                    parameters[index] = new Parameter(index);
                    parameters[index].Identifier = Identifiers.GetGuid(index);
                }

                tech = new Tech();
                commutator = new Commutator(tech, parameters, buffer);

                panels = new List<ParametersViewPanel>();
            //                devManUri = new Uri("net.tcp://localhost:57000");
                devManUri = new Uri("net.tcp://127.0.0.1:57000");

                CheckRegistry();

                LoadUri();

                DevManClient.Uri = devManUri;

                DevManClient.Context.Mode = UserMode.Passive;
                DevManClient.Context.Role = Role.Common;

                client = new devTcpManager();

                Ping ping = new Ping();
                PingOptions options = new PingOptions();

                try
                {
                    PingReply reply = ping.Send(devManUri.Host);
                    if (reply.Status == IPStatus.Success)
                    {
                        /*DevManClient.Uri = devManUri;

                        DevManClient.Context.Mode = UserMode.Passive;
                        DevManClient.Context.Role = Role.Common;*/

                        DevManClient.Connect();

                        // client = new devTcpManager();

                        string ip = System.Net.Dns.Resolve(devManUri.Host).AddressList[0].ToString();
                        //string ip = System.Net.Dns.GetHostEntry(devManUri.Host).AddressList[0].ToString();

                        client.Client.Host = ip;
                        client.Client.Port = 56000;

                        client.Client.Connect();
                    }
                    else
                    {
                        /*try
                        {
                            client = null;
                        }
                        catch { }*/
                    }
                }
                catch { }
            }
            catch (Exception ex)
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs(ex.Message, ErrorType.Fatal));
            }
        }
Exemplo n.º 8
0
        protected bool autolocalhost = false;           // автоматически подключаться к локальному серверу данных

        /// <summary>
        /// Инициализирует новый экземпляр класса
        /// </summary>
        protected Application()
        {
            try
            {
                ErrorHandler.InitializeErrorHandler();
                ErrorHandler.OnExit += new EventHandler(ErrorHandler_OnExit);

                buffer  = new RSliceBuffer(72000);
                manager = new DataBaseManager();

                projects = new List <Project>();
                commands = new List <BlockViewCommand>();

                parameters = new Parameter[256];
                for (int index = 0; index < parameters.Length; index++)
                {
                    parameters[index]            = new Parameter(index);
                    parameters[index].Identifier = Identifiers.GetGuid(index);
                }

                tech       = new Tech();
                commutator = new Commutator(tech, parameters, buffer);

                panels = new List <ParametersViewPanel>();
//                devManUri = new Uri("net.tcp://localhost:57000");
                devManUri = new Uri("net.tcp://127.0.0.1:57000");

                CheckRegistry();

                LoadUri();

                DevManClient.Uri = devManUri;

                DevManClient.Context.Mode = UserMode.Passive;
                DevManClient.Context.Role = Role.Common;

                client = new devTcpManager();

                Ping        ping    = new Ping();
                PingOptions options = new PingOptions();

                try
                {
                    PingReply reply = ping.Send(devManUri.Host);
                    if (reply.Status == IPStatus.Success)
                    {
                        /*DevManClient.Uri = devManUri;
                         *
                         * DevManClient.Context.Mode = UserMode.Passive;
                         * DevManClient.Context.Role = Role.Common;*/

                        DevManClient.Connect();

                        // client = new devTcpManager();

                        string ip = System.Net.Dns.Resolve(devManUri.Host).AddressList[0].ToString();
                        //string ip = System.Net.Dns.GetHostEntry(devManUri.Host).AddressList[0].ToString();

                        client.Client.Host = ip;
                        client.Client.Port = 56000;

                        client.Client.Connect();
                    }
                    else
                    {
                        /*try
                         * {
                         *  client = null;
                         * }
                         * catch { }*/
                    }
                }
                catch { }
            }
            catch (Exception ex)
            {
                ErrorHandler.WriteToLog(this, new ErrorArgs(ex.Message, ErrorType.Fatal));
            }
        }