public void SetLoopsAmountBySpecifiedController() { List <string> lstLoopsCode = new List <string>(); if (ProjectManager.GetInstance.Project != null && TheController != null) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(TheController.Type); short maxLoopAmount = controllerConfig.GetMaxLoopAmountValue(); for (int i = 1; i <= maxLoopAmount; i++) { lstLoopsCode.Add(i.ToString().PadLeft(TheController.LoopAddressLength, '0')); } } LoopsCode = lstLoopsCode; }
public List <string> GetPrimaryControllerLoopsAmount() { List <string> lstLoopsCode = new List <string>(); if (ProjectManager.GetInstance.Project != null) { SCA.Model.ControllerModel controller = ProjectManager.GetInstance.GetPrimaryController(); SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(controller.Type); short maxLoopAmount = controllerConfig.GetMaxLoopAmountValue(); for (int i = 1; i <= maxLoopAmount; i++) { lstLoopsCode.Add(i.ToString().PadLeft(controller.LoopAddressLength, '0')); } } LoopsCode = lstLoopsCode; return(lstLoopsCode); }
public List <int> GetDeviceCodeLength(Model.ControllerType type) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type); DeviceCodeLength = controllerConfig.GetDeviceCodeLength(); return(DeviceCodeLength); }
public List <ManualControlBoard> Create(int boardNo, int subBoardStartNo, int subBoardEndNo, int amount) { List <ManualControlBoard> lstMCB = new List <ManualControlBoard>(); if (DataRecordAlreadySet) //如果数据已经填写完成,则可获取最大编号 { _maxCode = GetMaxCode(); _maxID = GetMaxID(); } int tempCode = _maxCode; if (tempCode >= MaxManualControlBoardAmount) //如果已经达到上限,则不添加任何行 { amount = 0; } if ((tempCode + amount) > MaxManualControlBoardAmount) //如果需要添加的行数将达上限,则增加剩余的行数 { amount = MaxManualControlBoardAmount - tempCode; } for (int j = subBoardStartNo; j <= subBoardEndNo; j++) { SCA.Interface.IControllerConfig config = ControllerConfigManager.GetConfigObject(this.TheController.Type); int totalMaxKeyNo = config.GetMaxAmountForKeyNoInManualControlBoardConfig(); int maxKeyNo = 0; //获取当前板卡及回路下的最大"手键号" if (TheController.ControlBoard.Count == 0) { maxKeyNo = 0; } else { var result = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo); if (result.Count() != 0) { maxKeyNo = TheController.ControlBoard.Where(mcb => mcb.SubBoardNo == j && mcb.BoardNo == boardNo).Max(mcb => mcb.KeyNo); } } if (maxKeyNo < totalMaxKeyNo) { for (int i = 1; i <= amount; i++) { tempCode++; _maxID++; maxKeyNo++; ManualControlBoard mcb = new ManualControlBoard(); mcb.BoardNo = boardNo; mcb.SubBoardNo = j; mcb.KeyNo = maxKeyNo; mcb.Controller = _controller; mcb.ControllerID = _controller.ID; mcb.Code = tempCode;//.ToString().PadLeft(MaxManualControlBoardAmount.ToString().Length, '0'); mcb.ID = _maxID; mcb.IsDirty = true; lstMCB.Add(mcb); } } } _maxCode = tempCode; DataRecordAlreadySet = false; foreach (var singleItem in lstMCB) { Update(singleItem); } return(lstMCB); }
/// <summary> /// 根据控制器的配置信息决定是否显示其它配置项 /// </summary> /// <param name="type"></param> private void ToggleOtherSettingsVisibility(Model.ControllerType type) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type); ControllerNodeModel[] nodes = controllerConfig.GetNodes(); bool blnStandardFlag = false; bool blnMixedFlag = false; bool blnGeneralFlag = false; bool blnMCBFlag = false; if (nodes.Length > 1) { OtherSettingsPanelVisibility = Visibility.Visible; } else { OtherSettingsPanelVisibility = Visibility.Collapsed; } for (int i = 0; i < nodes.Length; i++) { switch (nodes[i].Type) { case ControllerNodeType.Standard: blnStandardFlag = true; break; case ControllerNodeType.General: blnGeneralFlag = true; break; case ControllerNodeType.Mixed: blnMixedFlag = true; break; case ControllerNodeType.Board: blnMCBFlag = true; break; } } if (blnStandardFlag) { StandardLinkageCheckBoxVisibility = Visibility.Visible; StandardLinkageFlag = true; } else { StandardLinkageCheckBoxVisibility = Visibility.Collapsed; StandardLinkageFlag = false; } if (blnGeneralFlag) { GeneralLinkageCheckBoxVisibility = Visibility.Visible; GeneralLinkageFlag = true; } else { GeneralLinkageCheckBoxVisibility = Visibility.Collapsed; GeneralLinkageFlag = false; } if (blnMixedFlag) { MixedLinkageCheckBoxVisibility = Visibility.Visible; MixedLinkageFlag = true; } else { MixedLinkageCheckBoxVisibility = Visibility.Collapsed; MixedLinkageFlag = false; } if (blnMCBFlag) { ManualControlBoardCheckBoxVisibility = Visibility.Visible; ManualControlBoardFlag = true; } else { ManualControlBoardCheckBoxVisibility = Visibility.Collapsed; ManualControlBoardFlag = false; } return; }
public void SetSelectedDeviceTypeCode(ControllerType type) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type); SelectedDeviceTypeCode = Convert.ToInt16(controllerConfig.DefaultDeviceTypeCode); }
public List <DeviceType> GetValidDeviceType(ControllerType type) { SCA.Interface.IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(type); ValidDeviceType = controllerConfig.GetDeviceTypeInfo(); return(ValidDeviceType); }