예제 #1
0
        private VariableObserver(IHubConnectionContext<dynamic> clients)
        {
            this.Clients = clients;

            try
            {
                IControl control = IControl.create();
                control.connect(IP_UTEST, 9090);
                Console.WriteLine("Connexion OK !!!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Connexion NON OK !!!");
            }

            vc = Vs.getVariableController();

            _listDataObs = new List<DataObserver>{
                new DataObserver { DataId=2, PathName = "CODES/CT1_M1_PNT/LiveBit", ValueObs="" }
            };

            _timer = new Timer(UpdateDataObservers, null, _updateInterval, _updateInterval);

            ///=======================================================================================================
            ///Il faut charger les valeurs au moins une fois sinon la librairie n'arrive pas a récupérer le type
            ///Et donc il n'arrive pas à mettre les valeurs à jours   :/
            ///=======================================================================================================
                foreach (DataObserver rowObserver in _listDataObs)
                {

                    DataObserver dObs = readValue3(rowObserver);

                    InjectionVariableStatus status = new InjectionVariableStatus();
                    vc.getInjectionStatus(rowObserver.PathName, status);

                    if (status.state == InjectionStates.InjectionStates_IsSet)
                    {
                        rowObserver.IsForced = true;
                    }
                    else
                    {
                        rowObserver.IsForced = false;
                    }
                }
            ///=======================================================================================================
        }