public DefectsController(RaportareDbContext context, DefectService defectService, PlcService plcService, ReportService reportService) { _context = context; _defectService = defectService; _plcService = plcService; _reportService = reportService; }
public HomeController(ILogger <HomeController> logger, TimedService backGroundService, StartAutBackgroundService bk, PlcService plcService) { _logger = logger; _backgroundService = backGroundService; _plcService = plcService; _logger.LogInformation("{data}<=>{Messege}", DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss"), "S-A CREAT HOMECONTROLLER AR TREBUI SA URMEZE SI BACKGROUND SERVICE"); _logger.LogInformation("{LasttimeScan} {text}", _backgroundService.LastTimeRunBackgroundWork.ToString("dd.MM.yyyy hh:mm:ss"), "Timp din backgroundService in HomeController"); }
public CpuDisplayModel(PlcService plcService, IMapper mapper, IEventAggregator events) { _plcService = plcService; _plcService.ComStateChanged += OnPlcComStateChanged; Index = _plcService.Index; _mapper = mapper; _events = events; S7CpuType = Enum.GetValues(typeof(S7CpuType)).Cast <S7CpuType>().ToList(); PlcConnectionCmd = new AsyncCommand <object>(OnPlcConnectionCmd); _connectButtonStateTimer = new System.Timers.Timer(); _connectButtonStateTimer.Elapsed += onConnectButtonStateTimerElapsed; _connectButtonStateTimer.Interval = 50; Name = _plcService.Config.Name; IpAddress = _plcService.Config.Ip; Rack = _plcService.Config.Rack; Slot = _plcService.Config.Slot; SelectedCpuType = _plcService.Config.CpuType; //foreach (var datablock in _plcService.Datablocks) //{ // IDatablockDisplayModel db // Datablocks.Add //} try { List <SignalDisplayModel> signals = mapper.Map <List <SignalDisplayModel> >(_plcService.Datablocks[0].Signals); var db = mapper.Map <List <DatablockDisplayModel> >(_plcService.Datablocks); Datablocks = db; } catch (AutoMapperMappingException ex) { Console.WriteLine(ex.Message); if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); } throw; } catch (Exception ex) { Console.WriteLine(ex.Message); if (ex.InnerException != null) { Console.WriteLine(ex.InnerException.Message); } throw; } }
// Map Defect To PlcViewModel public void MapDefect(PlcService plcService, Defect defect, PlcModel plc, List <Defect> defects) { IsConnected = plcService.IsAvailableIpAdress(plc); if (defect == null) { return; } MotivStationare = defect.MotivStationare; TimpStartDefect = defect.TimpStartDefect; TimpStopDefect = defect.TimpStopDefect; IsDefectFinalizat = defect.DefectFinalizat; NumePlcAfisat = GetNumePlcAfisat(defect); TextAfisare = GetTextAfisare(); ChartDefectsInPercent = GetItemSourceGraficDefects(defects); RandamentRealizat = GetRandamentRealizat(defects); }
public PlcController(IEnumerable <IHostedService> hostedServices) { _plcService = (PlcService)hostedServices.Single(s => s.GetType() == typeof(PlcService)); }
// Constructor public PlcServiceController(RaportareDbContext context, ILogger <PlcsController> logger, PlcService plcService) { _logger = logger; _context = context; _plcService = plcService; }
public ConnToPLC() { InitializeComponent(); plcService = new PlcService(); }
public PLCViewModel(PlcService PLC) { this.PLC = PLC; }
// Constructor: Inject PlcService To Get PLCViewModelList public UtilajViewComponent(PlcService plcService) { ListPlcViewModel = plcService.ListPlcViewModels; }
public List <PlcService> LoadConfigs(string path = "") { log.Info($"LoadConfigs - path {path}"); var plcServiceList = new List <PlcService>(); int totalFilesToLoadCount = 0; List <ICpuConfigFile> cpuConfigFiles = _configParser.LoadConfigFiles(path); foreach (var jsonConfig in cpuConfigFiles) { totalFilesToLoadCount += jsonConfig.SignalLists.Count; } var configsProgressEventArgs = new ConfigsProgressEventArgs(); configsProgressEventArgs.ProgressTotal = totalFilesToLoadCount; ConfigsLoadingProgressChanged?.Invoke(this, configsProgressEventArgs); foreach (var config in cpuConfigFiles) { ICpuConfig cpuConfig = new CpuConfig(config); List <IDatablockModel> datablocks = new List <IDatablockModel>(); foreach (var dbNumberDbNameString in config.SignalLists) { DatablockModel datablock = new DatablockModel(); // signal should contain db number and db name, format : "number:name" e.g "3201:DbName" List <string> dbNumberDbName = dbNumberDbNameString.Split(':').ToList(); int dbNumber = 0; bool isParsable = false; if (dbNumberDbName.Count > 0) { isParsable = Int32.TryParse(dbNumberDbName.First(), out dbNumber); } if (dbNumberDbName.Count != 2 || !isParsable) { string errorStr = "Invalid file format in Json config!SignalsList must use : as separator between db number and name."; log.Error(errorStr); throw new FormatException(errorStr); } var signals = new List <SignalModel>(); string filePath = AppDomain.CurrentDomain.BaseDirectory + Constants.BaseDirectorySubDirs + dbNumberDbName.Last(); try { var fileLines = _dbParser.ReadS7DbFile(filePath); var signalContextList = _dbParser.ParseDb(fileLines, config.DiscardKeywords); for (int i = 0; i < signalContextList.Count; i++) { signalContextList[i].CpuIndex = plcServiceList.Count; signalContextList[i].DbIndex = datablocks.Count; signalContextList[i].Index = i; signalContextList[i].DbNumber = dbNumber; signals.Add(SignalFactory.Create(signalContextList[i])); } } catch (Exception) { // TODO - Handle throw; } if (signals?.Count > 0) { datablock.CpuIndex = plcServiceList.Count; datablock.Index = datablocks.Count; datablock.Signals = signals; datablock.Name = dbNumberDbName.Last(); datablock.Number = dbNumber; datablock.FirstByte = signals.First().DbByteIndex(); datablock.ByteCount = signals.Last().DbByteIndex() - datablock.FirstByte; datablocks.Add(datablock); } configsProgressEventArgs.ProgressInput += 1; ConfigsLoadingProgressChanged?.Invoke(this, configsProgressEventArgs); Thread.Sleep(250); } PlcService plcService = PlcServiceFactory.Create(plcServiceList.Count, cpuConfig, datablocks); plcServiceList.Add(plcService); } Thread.Sleep(2500); ConfigsLoaded?.Invoke(this, new EventArgs()); return(plcServiceList); }