public async Task ppSelectAsync(SecsEquipment secsEquip, string FAUF) { var where = PredicateBuilder.True <Lot>().And(l => l.Deleted == false && l.Ident == FAUF); //var lot = _lotSvc.Query(a => a.Ident == FAUF && a.Deleted == false) // .Include(l => l.Line) // .Include(l => l.Product) // .Select().FirstOrDefault(); //var recipe = _recipeSvc.Query(r => r.ProductId == lot.ProductId && (r.EquipmentId>0 && r.EquipmentId == secsEquip.SCESEquipment.Id)).Select().FirstOrDefault(); //if(recipe == null) //{ // recipe = _recipeSvc.Query(r => r.ProductId == lot.ProductId && (r.ProcessId > 0 && r.ProcessId == secsEquip.SCESEquipment.ProcessId)).Select().FirstOrDefault(); //} //if(recipe == null) //{ // throw new Exception("no recipe found"); //} //var secsgemMessge = new SecsMessage(2, 41, "PP-SELECT", Secs4Net.Item.L( // Secs4Net.Item.A("PP-SELECT"), // Secs4Net.Item.L( // Secs4Net.Item.L( // Secs4Net.Item.U2((ushort)recipe.RecipeNo) // ) // ) // )); //secsEquip.SendDataMessage(secsgemMessge); }
public void secsEventHander(SecsEquipment secsEquip) { uint eventID = 0; string eventName = ""; IEnumerable <Secs4Net.Item> list = null; foreach (Secs4Net.Item item in secsEquip.Msg.SecsItem.Items) { if (item.Format == SecsFormat.U4) { eventID = item.GetValue <uint>(); } if (item.Format == SecsFormat.ASCII) { eventName = item.GetString(); } if (item.Format == SecsFormat.List) { list = secsEquip.Msg.SecsItem.Items.Where(i => i.Format == SecsFormat.List); } } if (list != null) { var listSecondLevel = list.Where(i => i.Format == SecsFormat.List); var listThirdLevel = listSecondLevel.Where(i => i.Format == SecsFormat.List); switch (eventID) { case 200011: string FAUF = listThirdLevel.Where(i => i.Format == SecsFormat.ASCII).FirstOrDefault().GetString(); ppSelectAsync(secsEquip, FAUF); break; } } }
private void ConnectedHandler(object sender, SecsEquipment equip) { var dbEquip = equip.SCESEquipment; dbEquip.Status = LineStatus.Connected; _sCESEquipmentService.Update(dbEquip); _sCESEquipmentService.SaveChangesAsync(); }
public void connectToEquip() { var secsEquip = new List <SecsEquipment>(); foreach (var equip in getSECSEquipment()) { if (!string.IsNullOrEmpty(equip.Address) || equip.Port <= 0) { continue; } var sq1 = new SecsEquipment(equip.Address, equip.Port); sq1.Connected += ConnectedHandler; sq1.Connect(); sq1.DataReceived += DataReceivedHandler; } }
public void connectToTCPServer(string ServerIP, string ServerPort, string Server2IP, string Server2Port) { SCESEquipment sCESEquipment = new SCESEquipment(); sCESEquipment.Address = "10.215.36.73"; sCESEquipment.Port = 5005; sq1 = new SecsEquipment(ServerIP, ServerPort); sq2 = new SecsEquipment(Server2IP, Server2Port); sq1.Connected += ConnectedHandler; sq2.Connected += Connected2Handler; sq1.Connect(); sq2.Connect(); sq1.DataReceived += DataReceivedHandler; sq2.DataReceived += Data2ReceivedHandler; }
private void Connected2Handler(object sender, SecsEquipment equip) { StatusTextBox.AppendText("device 1 connected.\n"); }