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();
 }
Esempio n. 3
0
 public bool ModuleConfirm(ModuleTypeEnum module)
 {
     if (!confirmLicense || license == null)
     {
         return(false);
     }
     return(license.Modules.Any(c => c.ModuleTypeEnum == module));
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
        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;
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        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
        }
Esempio n. 11
0
        /// <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;
            }
        }
Esempio n. 12
0
 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)
 {
 }