Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AutomationManager"/> class.
 /// </summary>
 /// <param name="storage">The storage.</param>
 /// <param name="processingManager">The processing manager.</param>
 /// <param name="automationTrigger">The automation trigger.</param>
 /// <param name="configuration">The configuration.</param>
 public AutomationManager(IStorage storage, IProcessingManager processingManager, AutoResetEvent automationTrigger, IConfiguration configuration)
 {
     this.storage           = storage;
     this.processingManager = processingManager;
     this.configuration     = configuration;
     this.automationTrigger = automationTrigger;
 }
Esempio n. 2
0
 public CommandingService(IProcessingManager processingManager)
 {
     commanding               += UpdateEvent;
     this.processingManager    = processingManager;
     calculationEngineCommands = new ConcurrentBag <CeCommand>();
     InitializeCommandingServiceThread();
     StartCommandingServiceThread();
 }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Acquisitor"/> class.
 /// </summary>
 /// <param name="acquisitionTrigger">The acquisition trigger.</param>
 /// <param name="processingManager">The processing manager.</param>
 /// <param name="stateUpdater">The state updater.</param>
 /// <param name="configuration">The configuration.</param>
 public Acquisitor(AutoResetEvent acquisitionTrigger, IProcessingManager processingManager, IStateUpdater stateUpdater, IConfiguration configuration)
 {
     this.stateUpdater       = stateUpdater;
     this.acquisitionTrigger = acquisitionTrigger;
     this.processingManager  = processingManager;
     this.configuration      = configuration;
     this.InitializeAcquisitionThread();
     this.StartAcquisitionThread();
 }
Esempio n. 4
0
 public void Start()
 {
     if (!started)
     {
         functionExecutor  = new FunctionExecutor();
         processingManager = new ProcessingManager(functionExecutor);
         acquisitor        = new Acquisitor(processingManager);
         started           = true;
     }
 }
Esempio n. 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Acquisitor"/> class.
 /// </summary>
 /// <param name="acquisitionTrigger">The acquisition trigger.</param>
 /// <param name="processingManager">The processing manager.</param>
 /// <param name="stateUpdater">The state updater.</param>
 public Acquisitor(IProcessingManager processingManager)
 {
     this.processingManager = processingManager;
     log = new LogServiceProxy(ConfigurationManager.AppSettings["Log"]);
     if (!Int32.TryParse(ConfigurationManager.AppSettings["AcquisitionInterval"], out acquisitionInterval))
     {
         acquisitionInterval = 1000;
     }
     this.InitializeAcquisitionThread();
     this.StartAcquisitionThread();
 }
Esempio n. 6
0
 public FEP()
 {
     if (!started)
     {
         functionExecutor  = new FunctionExecutor();
         processingManager = new ProcessingManager(functionExecutor);
         acquisitor        = new Acquisitor(processingManager);
         commandingService = new CommandingService(processingManager);
         started           = true;
     }
 }
Esempio n. 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Acquisitor"/> class.
 /// </summary>
 /// <param name="acquisitionTrigger">The acquisition trigger.</param>
 /// <param name="processingManager">The processing manager.</param>
 /// <param name="stateUpdater">The state updater.</param>
 public Acquisitor(IProcessingManager processingManager)
 {
     this.processingManager = processingManager;
     log = ScadaProxyFactory.Instance().LoggingProxy();
     if (!Int32.TryParse(ConfigurationManager.AppSettings["AcquisitionInterval"], out acquisitionInterval))
     {
         acquisitionInterval = 1000;
     }
     seconds = 0;
     this.InitializeAcquisitionThread();
     this.StartAcquisitionThread();
 }
Esempio n. 8
0
 public DComCore()
 {
     configuration          = new ConfigReader();
     commandExecutor        = new FunctionExecutor(this, configuration);
     this.processingManager = new ProcessingManager(this, commandExecutor);
     this.acquisitor        = new Acquisitor(acquisitionTrigger, this.processingManager, this, configuration);
     this.automationManager = new AutomationManager(this, processingManager, automationTrigger, configuration);
     InitializePointCollection();
     InitializeAndStartThreads();
     logBuilder = new StringBuilder();
     Thread.CurrentThread.Name = "Main Thread";
 }
Esempio n. 9
0
        public BasePointItem(IConfigItem c, IProcessingManager processingManager, IStateUpdater stateUpdater, IConfiguration configuration, int i)
        {
            this.configItem        = c;
            this.processingManager = processingManager;
            this.stateUpdater      = stateUpdater;
            this.configuration     = configuration;

            this.type     = c.RegistryType;
            this.address  = (ushort)(c.StartAddress + i);
            this.name     = $"{configItem.Description} [{i}]";
            this.rawValue = configItem.DefaultValue;
            this.pointId  = PointIdentifierHelper.GetNewPointId(new PointIdentifier(this.type, this.address));
        }
Esempio n. 10
0
        public WCFServer(IStorage stor, IProcessingManager manager, IConfiguration config, AutoResetEvent automationTri)
        {
            storage           = stor;
            processingManager = manager;
            configuration     = config;
            NetTcpBinding binding = new NetTcpBinding();
            string        address = "net.tcp://localhost:9999/Server";

            host = new ServiceHost(typeof(WCFServer));
            host.AddServiceEndpoint(typeof(IWCFContract), binding, address);
            automationTrigger = automationTri;

            host.Open();
        }
Esempio n. 11
0
        public BasePointItem(IConfigItem c, IProcessingManager processingManager, IStateUpdater stateUpdater, IConfiguration configuration, int i)
        {
            this.configItem        = c;
            this.processingManager = processingManager;
            this.stateUpdater      = stateUpdater;
            this.configuration     = configuration;
            this.alarm             = AlarmType.NO_ALARM;
            this.type     = c.RegistryType;
            this.address  = (ushort)(c.StartAddress + i);
            this.name     = $"{configItem.Description} [{i}]";
            this.rawValue = configItem.DefaultValue;
            this.pointId  = PointIdentifierHelper.GetNewPointId(new PointIdentifier(this.type, this.address));

            WriteCommand = new RelayCommand(WriteCommand_Execute, WriteCommand_CanExecute);
            ReadCommand  = new RelayCommand(ReadCommand_Execute);
        }
Esempio n. 12
0
        public MainViewModel()
        {
            configuration          = new ConfigReader();
            commandExecutor        = new FunctionExecutor(this, configuration);
            this.processingManager = new ProcessingManager(this, commandExecutor);
            this.acquisitor        = new Acquisitor(acquisitionTrigger, this.processingManager, this, configuration);
            this.automationManager = new AutomationManager(this, processingManager, automationTrigger, configuration);
            var thread = new Thread(StartWCFServer);

            thread.Name = "WCF Server";
            thread.Start();
            InitializePointCollection();
            InitializeAndStartThreads();
            logBuilder                = new StringBuilder();
            ConnectionState           = ConnectionState.DISCONNECTED;
            Thread.CurrentThread.Name = "Main Thread";
        }
Esempio n. 13
0
        /// <summary>
        /// Creates Point
        /// </summary>
        /// <param name="c">ConfigItem</param>
        /// <param name="i">Register number</param>
        /// <param name="processingManager">Processing manager instance</param>
        /// <returns>Created Point</returns>
        private BasePointItem CreatePoint(IConfigItem c, int i, IProcessingManager processingManager)
        {
            switch (c.RegistryType)
            {
            case PointType.DIGITAL_INPUT:
                return(new DigitalInput(c, processingManager, this, configuration, i));

            case PointType.DIGITAL_OUTPUT:
                return(new DigitalOutput(c, processingManager, this, configuration, i));

            case PointType.ANALOG_INPUT:
                return(new AnalaogInput(c, processingManager, this, configuration, i));

            case PointType.ANALOG_OUTPUT:
                return(new AnalogOutput(c, processingManager, this, configuration, i));

            default:
                return(null);
            }
        }
Esempio n. 14
0
 public AnalogOutput(IConfigItem c, IProcessingManager processingManager, IStateUpdater stateUpdater, IConfiguration configuration, int i)
     : base(c, processingManager, stateUpdater, configuration, i)
 {
 }
Esempio n. 15
0
 public DigitalBase(IConfigItem c, IProcessingManager processingManager, IStateUpdater stateUpdater, IConfiguration configuration, int i)
     : base(c, processingManager, stateUpdater, configuration, i)
 {
 }
Esempio n. 16
0
 public OrdersController(IProcessingManager processingManager, ILogger <OrdersController> logger)
 {
     _processingManager = processingManager;
     _logger            = logger;
 }
Esempio n. 17
0
 public MsmqClientService(IWatcher watcher, IProcessingManager manager)
 {
     _watcher = watcher;
     _manager = manager;
 }