public void DeletePortDef(DBConnection_EF conn, PortDef portdef) { try { conn.PortDef.Remove(portdef); conn.SaveChanges(); } catch (Exception ex) { logger.Warn(ex); throw; } }
public void insertPortDef(DBConnection_EF conn, PortDef portdef) { try { conn.PortDef.Add(portdef); conn.SaveChanges(); } catch (Exception ex) { logger.Warn(ex); throw; } }
private void CVPortTest() { List <AVEHICLE> vhs = scApp.VehicleBLL.cache.loadVhs(); foreach (AVEHICLE vh in vhs) { if (vh.isTcpIpConnect && vh.MODE_STATUS == ProtocolFormat.OHTMessage.VHModeStatus.AutoRemote && vh.ACT_STATUS == ProtocolFormat.OHTMessage.VHActionStatus.NoCommand && vh.HAS_BOX == 0 && !SCUtility.isEmpty(vh.CUR_ADR_ID) && !scApp.CMDBLL.isCMD_OHTCExcuteByVh(vh.VEHICLE_ID)) { var all_cv_port = scApp.PortDefBLL.cache.loadCVPortDefs(); //1.嘗試找出目前是in mode var all_cv_port_in_mode = all_cv_port.Where(port => IsGetReady(port)).ToList(); foreach (var in_mode_port in all_cv_port_in_mode) { var source_port_info = scApp.TransferService.GetPLC_PortData(in_mode_port.PLCPortID); //if (scApp.CMDBLL.hasExcuteCMDFromAdr(in_mode_port.ADR_ID)) continue; if (scApp.CMDBLL.hasExcuteCMDByBoxID(source_port_info.BoxID)) { continue; } string finial_port_num = in_mode_port.PLCPortID.Substring((in_mode_port.PLCPortID.Length) - 2);//取得倒數兩個字 int port_num = Convert.ToInt32(finial_port_num, 16); //確認是否可被2整除 bool is_even_num = port_num % 2 == 0; int target_port_num = is_even_num ? port_num - 1 : port_num + 1; string target_port_id = $"B7_OHBLOOP_T{Convert.ToString(target_port_num, 16).PadLeft(2, '0')}"; PortDef target_port = scApp.PortDefBLL.cache.getCVPortDef(target_port_id); string box_id = SCUtility.isEmpty(source_port_info.BoxID) ? "BOX01" : SCUtility.Trim(source_port_info.BoxID); string cst_id = source_port_info.CassetteID.ToUpper().Contains("NO") ? "" : SCUtility.Trim(source_port_info.CassetteID); bool is_success = scApp.CMDBLL.doCreatTransferCommand(vh.VEHICLE_ID, "", cst_id, E_CMD_TYPE.LoadUnload, in_mode_port.PLCPortID, target_port.PLCPortID, 0, 0, box_id, "", in_mode_port.ADR_ID, target_port.ADR_ID); if (is_success) { return; } } } } }
private bool IsGetReady_outMode(PortDef port) { var transfer_service = scApp.TransferService; var plc_port_info = transfer_service.GetPLC_PortData(port.PLCPortID); if (plc_port_info == null) { return(false); } else { return(plc_port_info.IsOutputMode && plc_port_info.IsAutoMode && !SCUtility.isEmpty(plc_port_info.BoxID)); } }
public void UPStage() { comboBox7.Items.Clear(); PortDef port = BCApp.SCApplication.PortDefBLL.GetPortDataByID(comboBox5.Text); if (port == null) { return; } for (int i = 0; i <= port.Stage; i++) { if (i == port.Stage) { i = (int)CassetteData.OHCV_STAGE.LP; } comboBox7.Items.Add((CassetteData.OHCV_STAGE)i); } comboBox7.SelectedIndex = 1; label3.Text = "目的Port:\n" + port.PLCPortID; }