Пример #1
0
        static void ConnectHistorian(HistorianAccess historian)
        {
            HistorianConnectionArgs connectionArgs = JsonConvert.DeserializeObject <HistorianConnectionArgs>(System.IO.File.ReadAllText("historianconnectionsettings.json"));

            Console.WriteLine("Initiating asynchronous historian connection, please wait...");
            HistorianAccessError error;

            if (!historian.OpenConnection(connectionArgs, out error))
            {
                Console.WriteLine("Failed to initiate historian connection: {0} {1} {2}",
                                  error.ErrorType, error.ErrorCode, error.ErrorDescription);
            }

            log.Info("Checking connection status...");
            HistorianConnectionStatus connectionStatus = new HistorianConnectionStatus();

            for (; ;)
            {
                historian.GetConnectionStatus(ref connectionStatus);
                if (connectionStatus.Pending)
                {
                    Console.WriteLine("Connection is pending");
                    Thread.Sleep(1000);
                    continue;
                }
                if (connectionStatus.ErrorOccurred)
                {
                    Console.WriteLine("Connection error: {0}",
                                      connectionStatus.Error.ErrorDescription);
                }

                Console.WriteLine("Server = {0}, ServerStorage = {1}, StoreForward = {2}",
                                  connectionStatus.ConnectedToServer,
                                  connectionStatus.ConnectedToServerStorage,
                                  connectionStatus.ConnectedToStoreForward);

                //Console.WriteLine("Press 'x' to continue or any other key to recheck the status");
                //if (Console.ReadKey(true).KeyChar == 'x')
                break;
            }
        }