public DetectorRequestManager(DetectorsDataAccess dataAccess, DetectorsStatusManager statusManager, EventLoggerAccess logger) : base(dataAccess, statusManager, logger) { _logger = logger; _dataAccess = dataAccess; _dataAccess.DisplayControlUpdateRequest += new DashboardControlUpdateHandler(ProcessControlUpdateRequest); }
public ApcsAccess(EventLoggerAccess log) { Lgr = log; Debug.Assert(Lgr != null); _serverAddress = ConfigurationManager.AppSettings["ApcsAddress"]; _serverPort = int.Parse(ConfigurationManager.AppSettings["ApcsPort"]); Connected = false; _responseEvent = new AutoResetEvent(false); SpeedMsgEvent = new AutoResetEvent(false); _signOfLifeTimer = new Timer(new TimerCallback(SignOfLifeCheck), null, Timeout.Infinite, Timeout.Infinite); _signOfLifeTimerDueTime = 20000; _connectionThread = new Thread(new ThreadStart(ConnectionThreadMethod)); _connectionThread.Name = "APCS Command Connection Thread"; _connectionThread.IsBackground = true; _responseThread = new Thread(new ThreadStart(ResponseThreadMethod)); _responseThread.Name = "APCS Command Response Thread"; _responseThread.IsBackground = true; _sendConfigDataThread = new Thread(new ThreadStart(SetConfigurationThreadMethod)); _sendConfigDataThread.Name = "APCS Send Configuration Data Thread"; _sendConfigDataThread.IsBackground = true; }
public RequestManager(DataAccess dataAccess, StatusManager statusManager, EventLoggerAccess logger) { _Logger = logger; _DataAccess = dataAccess; _DataAccess.DisplayControlUpdateRequest += new DashboardControlUpdateHandler(ProcessControlUpdateRequest); _StatusManager = statusManager; }
public RealTimeViewer(EventLoggerAccess log, DetectorsDataAccess dataAccess) { _log = log; _dataAccess = dataAccess; _dataAccess.DisplayControlUpdateRequest += new Subsystem.DataAccessCore.DashboardControlUpdateHandler(_dataAccess_DisplayControlUpdateRequest); int dataPort = int.Parse(ConfigurationManager.AppSettings["RealTimeViewerDataPort"]); string address = ConfigurationManager.AppSettings["RealTimeViewerMulticastIPAddress"]; _realTimeViewerBytesPerPixel = uint.Parse(ConfigurationManager.AppSettings["RealTimeViewerBytesPerPixel"]); _realTimeViewerPixelsPerColumn = uint.Parse(ConfigurationManager.AppSettings["RealTimeViewerPixelsPerColumn"]); _masterControlAddress = string.Empty; if ((dataAccess.Detectors.PixelPerColumn > _realTimeViewerPixelsPerColumn) && (_realTimeViewerPixelsPerColumn != 0)) { float value = (float)dataAccess.Detectors.PixelPerColumn / (float)_realTimeViewerPixelsPerColumn; _pixelInterval = (int)(Math.Round(value, 0, MidpointRounding.ToEven)); } else { _pixelInterval = 1; } try { _realTimeViewerHost = new RealTimeViewerHost(address, dataPort); } catch { } _inComingDataColl = new BlockingCollection <DataInfo>(AppConfiguration.DataCollectionMaxSize); }
public UIManager(EventLoggerAccess logger) { _Logger = logger; _FrameWork = new FrameWork(logger); _AssemblyDisplays = new List <AssemblyDisplays>(); _DisplayLock = new object(); }
public SubsystemServices(EventLoggerAccess logger) : base() { _Shutdown = false; _Logger = logger; _SubsystemCommTimeoutMsec = 30000; }
public BusinessManager(DetectorsDataAccess dataAccess, EventLoggerAccess log) { _dataAccess = dataAccess; _log = log; _statusManager = new DetectorsStatusManager(dataAccess, log); _requestManager = new RequestManager(dataAccess, (StatusManager)_statusManager, log); log.LogInfo("Using calibration: " + AppConfiguration.CalibrationMode.ToString()); if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.Inline) { _calibration = new CalibrationInline(log, _dataAccess, _statusManager); } else if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.Persistent) { _calibration = new CalibrationPersistent(log, _dataAccess, _statusManager); } else if (AppConfiguration.CalibrationMode == AppConfiguration.CalibrationModeEnum.InlineStandstill) { _calibration = new CalibrationInline(log, _dataAccess, _statusManager); } _normalize = new NormalizeData(log, dataAccess, _calibration); _processThread = Threads.Create(ProcessDataThreadMethod, ref _processEnd, "Business Data thread"); _processThread.Start(); }
public DetectorsStatusManager(DetectorsDataAccess dataAccess, EventLoggerAccess logger) : base(dataAccess, logger) { _logger = logger; Dictionary <int, string> ConnectionValueMapping = new Dictionary <int, string>(); ConnectionValueMapping.Add(0, TagValueTypes.Error); ConnectionValueMapping.Add(1, TagValueTypes.Clear); StatusElement detectorConnect = new StatusElement(_DetectorConnectTag, 0, TagTypes.Status, ConnectionValueMapping); //detectorConnect.Value = _Statuses.Add(detectorConnect); StatusElement apcsConnect = new StatusElement(_APCSConnectTag, 0, TagTypes.Status, ConnectionValueMapping); _Statuses.Add(apcsConnect); dataAccess.DetectorConnectionStateUpdate += new ConnectionStateChangeHandler(OnDetectorsConnectionChange); dataAccess.APCSConnectionStateUpdate += new ConnectionStateChangeHandler(OnApcsConnectionChange); Dictionary <int, string> DetectorsValueMapping = new Dictionary <int, string>(); DetectorsValueMapping.Add(0, TagValueTypes.Clear); DetectorsValueMapping.Add(1, TagValueTypes.Warning); DetectorsValueMapping.Add(2, TagValueTypes.Error); DetectorsValueMapping.Add(3, TagValueTypes.Warning); StatusElement detectorStatus = new StatusElement(_DetectorStatusTag, 0, TagTypes.Status, DetectorsValueMapping); _Statuses.Add(detectorStatus); }
public MainWindow() { InitializeComponent(); _Logger = new EventLoggerAccess(); _DataAccess = new DataAccess(_Logger); _BusinessManager = new BusinessManager(_DataAccess, _Logger); }
public LinacDataAccess(EventLoggerAccess logger) : base(logger) { string ipAddress = ConfigurationManager.AppSettings["LinacIP"]; int port = Convert.ToInt32(ConfigurationManager.AppSettings["LinacPort"]); int time = Convert.ToInt32(ConfigurationManager.AppSettings["LinacPingTime"]); _LinacAccess = new LinacAccess(logger, ipAddress, port, time); _LinacAccess.ConnectionStateChangeEvent += new ConnectionStateChangeHandler(LinacAccess_ConnectionStateChangeEvent); }
public StatusInfoDisplay(EventLoggerAccess logger) { InitializeComponent(); CultureResources.registerDataProvider(this); _Logger = logger; CriticalErrorsArea.SizeChanged += new SizeChangedEventHandler(CriticalErrorsArea_SizeChanged); WarningMessagesArea.SizeChanged += new SizeChangedEventHandler(WarningMessagesArea_SizeChanged); }
public DataAccess(EventLoggerAccess logger) : base(logger) { _logger = logger; Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); _OpcClient = new OpcClient(configuration.GetSection("opcSection") as OpcSection, ConfigurationManager.AppSettings["TagGroup"], _logger); _OpcClient.OpcTagUpdate += new OpcTagUpdateHandler(_OpcClient_OpcTagUpdate); _OpcClient.Open(); }
public NormalizeData(EventLoggerAccess log, DetectorsDataAccess dataAccess, Calibration calibration) { _log = log; _dataAccess = dataAccess; _calibration = calibration; _objectSearch = new ObjectSearch(log, dataAccess, _calibration); _rawDataColl = new BlockingCollection <DataInfo>(); _normalizeThread = Threads.Create(NormalizeAgent, ref _normalizeEnd, "Normalization thread"); _normalizeThread.Start(); }
public RealTimeViewerHost(string address, int dataPort, int udpClientPort, EventLoggerAccess logger) { _logger = logger; IPAddress multicastAddress = IPAddress.Parse(address); _udpClient = new UdpClient(udpClientPort); _udpClient.JoinMulticastGroup(multicastAddress); _udpClient.Ttl = 255; _udpClient.Connect(new IPEndPoint(multicastAddress, dataPort)); _logger.LogInfo(MethodBase.GetCurrentMethod().Name + ": joined multicast group " + multicastAddress.ToString() + ":" + udpClientPort.ToString()); }
public LinacStatusManager(LinacDataAccess dataAccess, EventLoggerAccess logger) : base(dataAccess, logger) { InitializeLinacTags(); _dataAccess = dataAccess; //dataAccess.DetectorConnectionStateUpdate += new ConnectionStateChangeHandler(DataAccessDetectors_ConnectionStateUpdate); //dataAccess.APCSConnectionStateUpdate += new ConnectionStateChangeHandler(DataAccessAPCS_ConnectionStateUpdate); dataAccess.LinacConnectionStateChangeEvent += new ConnectionStateChangeHandler(dataAccess_LinacConnectionStateChangeEvent); }
public StatusManager(DataAccess dataAccess, EventLoggerAccess logger) { Logger = logger; _Statuses = new StatusElements(); DataAccess = dataAccess; _StatusLock = new object(); ReadTagConfig(); DataAccess.TagUpdate += new PLCTagUpdateHandler(PLCTagUpdate); DataAccess.DisplayUpdateRequest += new DashboardUpdateRequestHandler(DashboardUpdateRequest); }
public ObjectSearch(EventLoggerAccess log, DetectorsDataAccess dataAccess, Calibration calibration) { _log = log; _dataAccess = dataAccess; _archiveData = new ArchiveData(log, calibration); _inComingDataColl = new BlockingCollection <DataInfo>(); _searchThread = Threads.Create(SearchAgent, ref _searchEnd, "Object Search thread"); _searchThread.Start(); _foundObject = false; }
/// <summary>Create and prepare a new class instance.</summary> /// <param name="eventLogger"> /// Event Logger specifies a <see cref="EventLoggerAccess"/> instance and must not be /// null...</param> /// <exception cref="ArgumentNullException"> /// If <paramref name="eventLogger"/> specifies null, an exception is thrown.</exception> public DataAccess(EventLoggerAccess eventLogger) : base(eventLogger) { if (/*invalid?*/ eventLogger == null) { throw new ArgumentNullException(ClassName + " EventLoggerAccess reference argument (eventLogger) must not be null"); } Logger = eventLogger; Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); _opcClient = new OpcClient(configuration.GetSection("opcSection") as OpcSection, ConfigurationManager.AppSettings["TagGroup"], Logger); _opcClient.OpcTagUpdate += new OpcTagUpdateHandler(OpcTagUpdate); _opcClient.Open(); }
/// <summary>Create and prepare a new class instance.</summary> /// <param name="dataAccess"> /// Data Access specifies a <see cref="DataAccess"/> instance and must not be /// null...</param> /// <param name="eventLogger"> /// Event Logger specifies a <see cref="EventLoggerAccess"/> instance and must not be /// null...</param> /// <exception cref="ArgumentNullException"> /// If either <paramref name="dataAccess"/> or <paramref name="eventLogger"/> specifies /// null, an exception is thrown.</exception> public BusinessManager(DataAccess dataAccess, EventLoggerAccess eventLogger) { if (/*invalid?*/ eventLogger == null) { throw new ArgumentNullException(ClassName + " EventLoggerAccess reference argument (eventLogger) must not be null"); } Logger = eventLogger; if (/*invalid?*/ dataAccess == null) { throw new ArgumentNullException(ClassName + " DataAccess reference argument (dataAccess) must not be null"); } StatusManagerReference = new StatusManager(dataAccess, eventLogger); RequestManagerReference = new RequestManager(dataAccess, StatusManagerReference, eventLogger); }
private void SpeedMsgAgent() { EventLoggerAccess logger = ApcsAccess.Logger; try { PanelUpdate update = new PanelUpdate(SpeedModePanel_Update); while (/*run?*/ !_speedMsgEnd.WaitOne(Utilities.TimeTENTH) && (DetectorsAccess != null) && (DetectorsAccess.Apcs != null) && (DetectorsAccess.Apcs.SpeedMessageEvent != null)) { OperatingModePortalAdaptivePNL.Dispatcher.BeginInvoke(update, null); } } catch (Exception ex) { _speedMsgException = ex; } }
public formOcrMonitor() { // // Required for Windows Form Designer support // InitializeComponent(); // Get runtime settings from our .config file. IPAddress OCR_Host = IPAddress.Parse((string)ConfigurationManager.AppSettings["OCR_host"]); Int32 OCR_Port = Int32.Parse(ConfigurationManager.AppSettings["OCR_port"]); string OCR_MessagePrefix = ConfigurationManager.AppSettings["OCR_MessagePrefix"]; string CargoSenderName = ConfigurationManager.AppSettings["CargoSenderName"]; bool ConnectAsListener = Boolean.Parse(ConfigurationManager.AppSettings["ConnectAsListener"]); m_OCRMonitor = new OCRMonitor(OCR_Host, OCR_Port, ConnectAsListener, OCR_MessagePrefix, CargoSenderName ); // Register for OCR connection status updates. m_OCRMonitor.UpdateConnectionStatus += new OCRMonitor.OCRConnectionStatusNotifier(ConnectionStatusUpdate); // Register for notification of receipt of OCR messages. m_OCRMonitor.NotifyRxACK += new OCRMonitor.OCRMessageHandler(ReceivedOcrMessage); m_OCRMonitor.NotifyRxNACK += new OCRMonitor.OCRMessageHandler(ReceivedOcrMessage); m_OCRMonitor.NotifyRxOCR_MASTER += new OCRMonitor.OCRMessageHandler(ReceivedOCR_MASTER); m_OCRMonitor.NotifyRxOCR_NEW_EVENT += new OCRMonitor.OCRMessageHandler(ReceivedOCR_NEW_EVENT); m_OCRMonitor.NotifyRxOCR_ULD += new OCRMonitor.OCRMessageHandler(ReceivedOcrMessage); m_OCRMonitor.NotifyRxPING += new OCRMonitor.OCRMessageHandler(ReceivedOcrMessage); m_OCRMonitor.NotifyRxREGISTER += new OCRMonitor.OCRMessageHandler(ReceivedREGISTER); m_OCRMonitor.NotifyRxUNREGISTER += new OCRMonitor.OCRMessageHandler(ReceivedUNREGISTER); m_OCRMonitor.Start(); _logger = new EventLoggerAccess(); //if (m_OCRMonitor.IsRunning) { m_cargoHostIF = new CargoHostInterface(_logger); } }
public MainWindow() { InitializeComponent(); _eventLoggerAccess = new EventLoggerAccess(); _eventLoggerAccess.LogMessageUpdate += new LogMessageUpdateHandler(LogMessage); _eventLoggerAccess.LogInfo("DetectorsApp Started"); _dataAccess = new DetectorsDataAccess(_eventLoggerAccess); _businessManager = new BusinessManager(_dataAccess, _eventLoggerAccess); _dataAccess.Connect(); CurrentLineIdTextBlk.DataContext = _dataAccess.Detectors; TestAPCS.Content = new TestAPCS(_dataAccess); TestNCB.Content = new TestNCB(_dataAccess, _businessManager); TestAPCS.Visibility = AppConfiguration.ShowDebugDisplays ? Visibility.Visible : Visibility.Collapsed; TestNCB.Visibility = TestAPCS.Visibility; }
public RealTimeViewer(EventLoggerAccess log) { _log = log; IsDualEnergy = false; _realTimeViewerHost = new RealTimeViewerHost(AppConfiguration.RealTimeViewerMulticastIPAddress, AppConfiguration.RealTimeViewerDataPort, AppConfiguration.RealTimeViewerUdpClientPort, log); _inComingDataColl = new BlockingCollection <DataInfo>(); _sendThread = Threads.Create(SendAgent, ref _sendEnd, "Real Time View Data Send thread"); _sendThread.Start(); }
public MainWindow() { InitializeComponent(); EventLoggerAccess log = null; _apcsAccess = new ApcsAccess(log); _apcsAccess.Start(); SignOfLifeSequenceTBK.DataContext = _apcsAccess; _speedMsgThread = new Thread(new ThreadStart(SpeedMsgAgent)); _speedMsgThread.IsBackground = true; _speedMsgThread.Name = "Main Window Speed Message thread"; _speedMsgEnd.Reset(); _speedMsgThread.Start(); }
public DetectorSimulator(DataAccessDetectors dataAccess, EventLoggerAccess logger, BusinessManager businessManager) { try { InitializeComponent(); _dataAccess = dataAccess; _logger = logger; _businessManager = businessManager; _businessManager.RecordData = false; } catch { throw; } }
public App() { bool createdNew = true; mutex = new Mutex(true, "Dashboard", out createdNew); if (createdNew) { if (Environment.GetCommandLineArgs().Length > 1) { foreach (string arg in Environment.GetCommandLineArgs()) { if (string.Compare(arg, "Operator", true) == 0 || string.Compare(arg, "Supervisor", true) == 0 || string.Compare(arg, "Maintenance", true) == 0 || string.Compare(arg, "Engineer", true) == 0) { ConfigurationManager.AppSettings["SystemOperationMode"] = arg; break; } } EventLoggerAccess logger = new EventLoggerAccess(); _UIManager = new UIManager(logger); _DataAccess = new DataAccess(logger); _AssemblyManager = new AssemblyManager(_UIManager, _DataAccess, logger); _DataAccess.StartUp(); _UIManager.Show(); logger.LogInfo("Dashboard Client Started"); } else { Application.Current.Shutdown(); } } else { Process current = Process.GetCurrentProcess(); foreach (Process process in Process.GetProcessesByName(current.ProcessName)) { SetForegroundWindow(process.MainWindowHandle); } Application.Current.Shutdown(); } }
public StatusManager(DataAccess dataAccess, EventLoggerAccess eventLogger) { if (/*invalid?*/ eventLogger == null) { throw new ArgumentNullException(ClassName + " EventLoggerAccess reference argument (eventLogger) must not be null"); } Logger = eventLogger; if (/*invalid?*/ dataAccess == null) { throw new ArgumentNullException(ClassName + " DataAccess reference argument (dataAccess) must not be null"); } DataAccessReference = dataAccess; _statusElements = new StatusElements(); ReadTagConfig(); DataAccessReference.OpcTagUpdateHandlers += new PLCTagUpdateHandler(PLCTagUpdate); DataAccessReference.DisplayUpdateRequest += new DashboardUpdateRequestHandler(DashboardUpdateRequest); }
public OpcClient(OpcSection opcSection, string tagGroup, EventLoggerAccess logger) { _logger = logger; _OpcSection = opcSection; _TagGroup = tagGroup; _GroupReadState = new SubscriptionState(); _GroupReadState.Name = _OpcSection.Server.TagGroup.GetElement(_TagGroup).Name + " Read"; _GroupReadState.UpdateRate = _OpcSection.Server.TagGroup.GetElement(_TagGroup).UpdateRate; _GroupReadState.Active = true; _GroupWriteState = new SubscriptionState(); _GroupWriteState.Name = _OpcSection.Server.TagGroup.GetElement(_TagGroup).Name + " Write"; _GroupWriteState.Active = false; _Items = new Item[_OpcSection.Server.TagGroup.GetElement(_TagGroup).Tags.Count]; }
public AssemblyManager(UIManager uiManager, DataAccess dataAccess, EventLoggerAccess logger) { _DataAccess = dataAccess; _DataAccess.setEvent(new SubsystemServiceListUpdateHandler(SubsystemServiceListUpdate)); _Logger = logger; _UIManager = uiManager; _AssemblyInstances = new Dictionary <string, IDisplays>(); if (Convert.ToBoolean(ConfigurationManager.AppSettings["StartUpClean"])) { string directory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["SystemOperationMode"]); if (Directory.Exists(directory)) { DeleteDirectory(directory); } } }
public DataAccessBase(EventLoggerAccess logger) { _AddressLock = new object(); _TaskFactory = new TaskFactory(TaskCreationOptions.PreferFairness, TaskContinuationOptions.ExecuteSynchronously); _LastTask = new Task(new Action(() => { })); _LastTask.RunSynchronously(); _logger = logger; _AvailableConnections = new List <EndpointAddress>(); _DashboardAccess = new DashboardAccess(); _DashboardAccess.Start(); _SubsystemDisplayAccess = new SubsystemDisplayAccess(); _SubsystemDisplayAccess.DisplayUpdateRequest += new DashboardUpdateRequestHandler(DisplaySendUpdate); _SubsystemDisplayAccess.ControlUpdateRequest += new DashboardControlUpdateHandler(DisplayControlUpdate); }