public DataCache(ModuleTypeEnum module, CounterTypeEnum counter) { this.ModuleType = module; this.CounterType = counter; //启动数据整合 ,根据小时整合 AddByCondense(); }
public Module(ComponentsTable module) { this.moduleID = module.IDComponent; this.iPAddress = IPAddress.Parse(module.IPAddress); this.moduleName = module.Name; this.communicationBit = module.CommunicationBit; this.moduleType = module.Type.ToModuleTypeEnum(); }
public bool ModuleConfirm(ModuleTypeEnum module) { if (!confirmLicense || license == null) { return(false); } return(license.Modules.Any(c => c.ModuleTypeEnum == module)); }
public ModuleItem(string Key, ModuleTypeEnum lModuleType, string ClassName, string Name, string Section, bool PopupPage, bool DesktopEnabled, bool MobileEnabled, string FileName) { this.ModuleKey = Key; this.ModuleType = lModuleType; this.ClassName = ClassName; this.ModuleName = Name; this.Section = Section; this.PopupPage = PopupPage; this.DesktopEnabled = DesktopEnabled; this.MobileEnabled = MobileEnabled; this.FileName = FileName; this.IsDemoModule = false; }
public List <TypeEntity> GetTypesByModuleType(ModuleTypeEnum moduleType) { List <TypeEntity> list = new List <TypeEntity>(); DataTable dt = HelpCenterDAL.BaseProvider.GetTypesByModuleType((int)moduleType); foreach (DataRow dr in dt.Rows) { TypeEntity model = new TypeEntity(); model.FillData(dr); list.Add(model); } return(list); }
/// <summary> /// 获取并清除这部分数据 /// </summary> /// <returns></returns> public static IList <BaseModel> GetAndClear(ModuleTypeEnum module, CounterTypeEnum counter) { IList <BaseModel> r = new List <BaseModel>(); lock ("Medivh.Content.CacheCenter.operation") { r = list.Where(x => x.ModuleType == module && x.CounterType == counter).ToList(); list.RemoveAll(x => x.ModuleType == module && x.CounterType == counter); //删除dict里面的数据 foreach (BaseModel baseModel in r) { dict.Remove(GetKey(baseModel)); } } return(r); }
public static CpuType ToS7CpuType(this ModuleTypeEnum type) { switch (type) { case ModuleTypeEnum.S7200: return(CpuType.S7200); case ModuleTypeEnum.S7300: return(CpuType.S7300); case ModuleTypeEnum.S7400: return(CpuType.S7400); case ModuleTypeEnum.S71200: return(CpuType.S71200); case ModuleTypeEnum.S71500: return(CpuType.S71500); default: throw new InvalidOperationException("Próba rzutowania nie-plcka na plcka!"); } }
public Module(int moduleID, string moduleName, IPAddress ipAddress, string communicationBit, ModuleTypeEnum moduleType) { this.ID = moduleID; this.ModuleName = moduleName; this.IPAddress = ipAddress; this.CommunicationBit = communicationBit; this.ModuleType = moduleType; }
/// <summary> /// Konstruktor klasy PLCMapper z ręcznym przekazaniem wartości parametrów. Pobiera zmienne potrzebne do rozpoczęcia komunikacji, inicjuje mapę zmiennych, rozpoczyna działanie timera. /// </summary> /// <param name="moduleID">ID modułu</param> /// <param name="moduleName">nazwa modułu</param> /// <param name="ipAddress">adres IP sterownika</param> /// <param name="communicationBit">bit komunikacyjny</param> /// <param name="moduleType">typ modułu</param> /// <param name="plcType">typ plc</param> /// <param name="slot">gniazdo</param> /// <param name="rack">szyna</param> public PLCMapper(int moduleID, string moduleName, IPAddress ipAddress, string communicationBit, ModuleTypeEnum moduleType, CpuType plcType, int slot, int rack) : base(moduleID, moduleName, ipAddress, communicationBit, moduleType) { CpuType cpuType = plcType; unchecked //żeby nie wyrzucało błędu przepełnienia przy rzutowaniu int na short { short sl = (short)slot; short rk = (short)rack; this.plc = new Plc(cpuType, this.IPAddress.ToString(), rk, sl); //inicjowanie obiektu typu S7.Net.PLC - potrzebny do komunikacji } this.initializeMap(); //inicjowanie mapy zmiennych (musi być wykonana po utworzeniu obiektu dla zmiennej plc this.startTimer(); //uruchamianie timera odświeżającego zmapowane zmienne }
/// <summary> /// 注册一个新模块 /// </summary> /// <param name="name">模块名</param> /// <param name="filePath">需要注册的文件名</param> /// <param name="description">描述信息</param> /// <param name="moduleType">模块类型</param> /// <param name="groupTitle">组名</param> /// <param name="logObj">日志对象</param> /// <param name="windowContainer">窗口容器</param> /// <returns></returns> public static List <FormInfo> RegisterExe(String name, String filePath, String description, ModuleTypeEnum moduleType, String groupTitle, IOutput logObj, IWindowContainer windowContainer) { try { if (ExistName(name)) { throw new Exception($"存在重复的模块名:{name}"); } if (ExistPath(filePath)) { throw new Exception($"存在重复的模块加载:{filePath}"); } var moduleInfo = new ModuleInfo() { Name = name, ModulePath = filePath, ModuleType = moduleType, Description = description, GroupTitle = groupTitle }; var result = LoadExeModule(moduleInfo, groupTitle, logObj, windowContainer); // 添加到数据库 var dal = new ModuleInfoDAL(); dal.Insert(moduleInfo); return(result); } catch (Exception e1) { throw e1; } }
public PLC(int moduleID, string moduleName, IPAddress ipAddress, string communicationBit, ModuleTypeEnum moduleType, CpuType plcType, int slot, int rack) : base(moduleID, moduleName, ipAddress, communicationBit, moduleType, plcType, slot, rack) { }