private UnitInfo CreateUnitInfo(string boardName, int seat, string sn, string plan) { var driverType = FetchPlans.Inst(this._param.tbiesServer).GetDriverType(plan); Guid id = _dataService.CreateBiRecord(sn, driverType, plan, boardName, seat.ToString()); UnitInfo info = new UnitInfo() { Id = id, Sn = sn, Plan = plan, Board = boardName, Seat = seat, Cost = 0, Comment = "", State = UnitState.READY, Result = UnitResult.PASS, CreateTime = DateTime.Now, CostCounter = DateTime.Now, ReadCounter = DateTime.Now, FinishTime = DateTime.Now, OutSpec = false, OutStart = DateTime.Now, }; return(info); }
private BoardUnit GetBoardUnit() { ILog log = MockIlog(); DtService36 db = new DtService36(@"Data Source=shg-l80005754\SQLEXPRESS;Initial Catalog=BMS36;Persist Security Info=True;User ID=sa;Password=cml@shg629;Pooling=False"); FetchPlans fetchplans = FetchPlans.Inst(""); fetchplans.FetchPlansList(db); Dictionary <string, string> ports = new Dictionary <string, string>(); ports["OvenPort"] = "COM1"; ports["Floor1"] = "COM1"; ports["Floor2"] = "COM2"; ports["Floor3"] = "COM3"; ports["Floor4"] = "COM4"; ports["Floor5"] = "COM5"; ports["Floor6"] = "COM6"; ports["Floor7"] = "COM7"; ports["Floor8"] = "COM8"; ports["Floor9"] = "COM9"; ports["Floor10"] = "COM10"; BoardFactory factroy = new BoardFactory(log, fetchplans, ports); SystemParams param = new SystemParams(); BoardUnit unit = new BoardUnit(log, db, param); return(unit); }
public static BoardFactory Instance(ILog log, FetchPlans fetchObj, Dictionary <string, string> ports) { if (factory == null) { factory = new BoardFactory(log, fetchObj, ports); } return(factory); }
private double GetTimeOut(string sn) { var info = GetUnitInfo(sn); if (info == null) { this._logger.Error("sn = " + sn + ":unit info is not exist in unit set,get timeout fail"); return(0); } double timeOut = FetchPlans.Inst(this._param.tbiesServer).GetSpan(info.Plan) * 60; return(timeOut); }
public bool ReadActive(string sn) { var info = GetUnitInfo(sn); if (info == null) { this._logger.Error("sn = " + sn + ":unit info is not exist in unit set,read active fail"); return(false); } double interval = FetchPlans.Inst(this._param.tbiesServer).GetInterval(info.Plan); return(DateTime.Now.Subtract(info.ReadCounter).TotalMinutes >= interval); }
public SpecResult CheckDataBySpec(string sn, List <KeyValuePair <string, string> > data, out string message) { message = ""; var ret = new SpecResult { CompareFail = false, Pausable = false, Stopable = false }; var info = GetUnitInfo(sn); if (info == null) { this._logger.Error("sn = " + sn + ":unit info is not exist in unit set,check data by spec fail"); return(ret); } SpecItem[] specArray = FetchPlans.Inst(this._param.tbiesServer).GetSpecification(info.Plan); List <SpecItem> failList = new List <SpecItem>(); foreach (var specItem in specArray) { foreach (var dataRow in data) { if (dataRow.Key == specItem.Item) { if (!(double.Parse(specItem.LBound) <= double.Parse(dataRow.Value) && double.Parse(dataRow.Value) < double.Parse(specItem.UBound))) { message += specItem.Item; failList.Add(specItem); } } } } foreach (var spec in failList) { if (spec.Type.Contains("C")) { ret.CompareFail = true; } if (spec.Type.Contains("P")) { ret.Pausable = true; } if (spec.Type.Contains("S")) { ret.Stopable = true; } } return(ret); }
public void InitBiModel() { try { _fetchPlans = FetchPlans.Inst(_configParam.systemParam.tbiesServer); _fetchPlans.FetchPlansList(_dataService); _boardFactory = BoardFactory.Instance(_logger, _fetchPlans, _configParam.ports); _mesOperator = BiModelFactory.GetMesOperator(); _boardManager = new BoardManager(_logger, _dataService, BiModelFactory.CreateIPosMapScheme(_dataService), _boardFactory, _configParam.systemParam); _boardManager.LoadBoardUnits(); InitTimer(); } catch (Exception ex) { this._logger.Error("BiModel init fail:" + ex.Message); this._logger.Error(ex.StackTrace); } }
public BoardFactory(ILog log, FetchPlans fetchObj, Dictionary <string, string> ports) { this._logger = log; this._ports = ports; this._fetchPlans = fetchObj; }