private static bool HistorianOK() { Boolean result = false; HistorianConnectionStatus localStatus = new HistorianConnectionStatus(); try { _historian.GetConnectionStatus(ref localStatus); result = !localStatus.ErrorOccurred; } catch (Exception ex) { log.Error(ex); result = false; } return(result); }
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; } }