[发明专利]一种控制器初始化方法及相关装置有效
申请号: | 201910604105.0 | 申请日: | 2019-07-05 |
公开(公告)号: | CN110321175B | 公开(公告)日: | 2023-10-10 |
发明(设计)人: | 张磊 | 申请(专利权)人: | 珠海市胜威科自动化设备有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/445;G06F9/48 |
代理公司: | 广东金泰智汇专利商标代理事务所(普通合伙) 44721 | 代理人: | 陈笠钢 |
地址: | 519070 广东省珠海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制器 初始化 方法 相关 装置 | ||
1.一种控制器初始化方法,其特征在于,包括:
生成初始化注册器,所述初始化注册器用于对需要初始化的控制器进行管理和分析操作;
生成初始化协议,通过所述初始化协议实现所述控制器的初始化逻辑功能的统一化处理;
将所述初始化协议注册到所述初始化注册器中;
获取预设的优先级策略,所述优先级策略用于决定所述控制器初始化时的优先级顺序;
根据预设的优先级策略,获取所述控制器的优先级M;
根据所述控制器的优先级M,通过所述初始化注册器对所述控制器进行初始化。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的优先级策略获取所述控制器的优先级,具体包括:
获取所述控制器的紧急度因子K,K为[10,100]之间的整数;
获取所述控制器的复杂度因子B,B=N*Q,N为表示算法复杂度的自然数,Q为影响复杂度因子B的增大因子,用于扩大复杂度因子B的影响程度,Q为大于等于1的正数;
所述控制器的优先级M通过以下公式计算得到:
M=(T*K/B)*(T*K/B);T是一个调节系数,是1-100之间的整数。
3.根据权利要求2所述的方法,其特征在于,
所述生成初始化注册器,具体包括:
通过初始化注册器函数addInitRegister生成初始化注册器;在所述注册器函数中访问权限是一个public公有权限的,返回值是一个void类型的返回值,所述初始化注册器中包含两个入参参数:IInit协议类型的参数myInitHandler和表示所述控制器的优先级参数M;
所述生成初始化协议,具体包括:
生成初始化协议;所述初始化协议包含一个协议方法onInitStart,所述协议方法是一个public公有权限的方法,所述协议方法的返回值是boolean布尔类型的返回值。
4.根据权利要求3所述的方法,其特征在于,所述生成初始化注册器,还包括:
定义了一个全局的集合对象List,用于存储所述初始化注册器数据的信息;在所述初始化器注册器函数中对所述集合对象List进行初始化操作。
5.根据权利要求4所述的方法,其特征在于,所述生成初始化注册器,还包括:
在所述函数addInitRegister中,对myInitHandler进行判空,如果所述myInitHandler是空,通过return将所述函数addInitRegister进行返回,否则进行判定是否包含所述myInitHandler,如果包含了所述myInitHandler则通过return语句来终止逻辑,否则就将所述myInitHandler添加到所述集合对象List中。
6.根据权利要求5所述的方法,其特征在于,所述将所述初始化协议注册到所述初始化注册器中,具体包括:
通过implements的方式来继承所述初始化协议并复写所述onInitStart方法;所述onInitStart方法内部的业务逻辑通过子线程执行。
7.根据权利要求6所述的方法,其特征在于,所述根据所述控制器的优先级M,通过所述初始化注册器对所述控制器进行初始化,具体包括:
根据当前系统性能,获取第一线程数量因子Num1;
根据所述集合对象List中优先级M大于预设值的控制器的数量获得第二线程数量因子Num2;
比较所述第一线程数量因子Num1和第二线程数量因子Num2的大小,取其中较大值作为主线程数量Num;
根据所述主线程数量Num生成对应数量的主线程;
根据所述控制器的任务信息,生成所述主线程对应的子线程,通过所述子线程对所述控制器进行初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市胜威科自动化设备有限公司,未经珠海市胜威科自动化设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910604105.0/1.html,转载请声明来源钻瓜专利网。