一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

锂电设备上位机软件框架设计方法与流程

2022-11-30 10:52:36 来源:中国专利 TAG:
1.本发明涉及软件控制
技术领域
:,尤其涉及一种锂电设备上位机软件框架设计方法。
背景技术
::2.锂电设备需要实用上位机来控制工作,而上位机需要软件框架来指导运行,但是伴随公司设备出货量的增加,客户需求的提高,设备的功能和产能的提升,现有的软件框架可能会出现以下的一个或几个问题:3.①软件修改的工作量巨大,软件开发人工投入大;②开发周期长;③品质控制投入较大;④软件工程师修改的方式也有差异,界面元素(输入控件和显示控件)成倍增加,显示界面排版繁杂,给客户操作人员和维护人员造成一定困扰,不利于客户使用和生产效率提升;⑤设备每款型号有对应的软件,后续软件算法优化更新,不能有效覆盖旧项目,不能帮助客户同步升级,提升客户产品品质。4.因此,现有的锂电设备上位机的软件框架,其在更新换代的过程中,效率有待提高。技术实现要素:5.本发明的主要目的在于提供一种锂电设备上位机软件框架设计方法,旨在解决现有技术中锂电设备上位机软件框架设计时的效率有待提高的技术问题。6.为实现上述目的,本发明第一方面提供一种锂电设备上位机软件框架设计方法,包括:分离设计的底层逻辑设计方法和界面显示设计方法;7.所述底层逻辑设计方法包括:8.初始化本地变量,并读取锂电设备的参数配置文件和任务配置文件;9.打开外部设备通讯端口,并读取plc数据;10.解析plc数据,从解析出的plc数据中判断任务功能的触发信号是否有效;11.若有效,则调用软件功能,控制外部设备运行;12.将外部设备运行的参数保存到软件内部的预设组件;将锂电产品的数据保存到本地文件或者客户mes系统,并结束底层逻辑运行;13.所述界面显示设计方法包括:14.利用表格控件,并通过修改代码来修改表格内容;15.将表格内容在界面显示。16.进一步地,所述底层逻辑设计方法还包括:在读取参数配置文件和任务配置时,若读取失败,则结束底层逻辑的运行;在对锂电产品完成全部工序后,若不退出底层逻辑的运行,则重新执行所述调用软件功能,控制所述外部设备运行的步骤。17.进一步地,所述底层逻辑设计方法还包括:预先设计软件代码,将软件代码中的软件功能和实现细节进行分析、概括、提炼,抽象出通用的概念和对象,并将抽象出的概念和对象进行封装,得到不同功能的功能模块;18.进一步地,所述调用软件功能的方法包括:19.从任务配置文件获取全部任务清单;20.从解析出的plc数据中获取全部任务的触发信号;21.对所述任务清单进行遍历,执行每一个任务;22.判断任务清单的遍历是否结束;23.若任务清单的遍历未结束,则解析任务调度功能,遍历所有功能模块;24.判断遍历的当前功能模块是否和所述任务调度功能相匹配;25.若不匹配,则继续遍历下一个功能模块;26.若相匹配,则当前功能模块的软件功能和实现细节被触发,执行当前功能模块,并在执行预设的任务时间后,返回所述判断任务清单的遍历是否结束的步骤;27.若任务清单的遍历结束,则结束所述调用软件功能。28.进一步地,所述锂电设备上位机软件框架设计方法还包括:预先设计规范统一的软件框架;29.在进行所述底层逻辑设计和所述界面显示设计时,引用所述软件框架。30.进一步地,所述锂电设备上位机软件框架设计方法还包括:在进行所述界面显示设计时,将预先收集的用户期望信息显示在界面上。31.进一步地,所述解析plc数据的方法包括:从读取到的plc数据中解析出对应的功能触发信号;在所述功能触发信号是否有效的判断中,根据功能数据判断外部设备的触发信号是否有效。32.进一步地,所述锂电设备上位机软件框架设计方法还包括:在引用所述软件框架时,通过调用软件功能的方法,实现所述软件框架的框架功能。33.进一步地,所述锂电设备上位机软件框架设计方法还包括:预先建立库代码,所述库代码包括数量可添加的公用代码;在执行所述底层逻辑设计或所述界面显示设计时,直接调用所述库代码内的公用代码。34.进一步地,所述锂电设备上位机软件框架设计方法还包括:在上位机的功能层实现接口统一,所述功能层用于执行调用软件功能的步骤,以调用底层驱动和组件实现特定功能。35.本发明提供一种锂电设备上位机软件框架设计方法,有益效果在于:通过分离设计底层逻辑设计和界面显示设计,使得底层逻辑的修改不影响界面,界面修改不影响底层逻辑,一个底层代码适应多款或全部设备;并通过调用软件功能,实现代码的复用,无需重新设计代码,从而提升了锂电设备上位机软件设计时的效率。附图说明36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。37.图1为本发明实施例锂电设备上位机软件框架设计方法的流程图;38.图2为本发明实施例锂电设备上位机软件框架设计方法的csv配置文件格式局部图;39.图3为本发明实施例锂电设备上位机软件框架设计方法的报表与外设显示界面局部图;40.图4为本发明实施例锂电设备上位机软件框架设计方法的本机参数界面局部图;41.图5为本发明实施例锂电设备上位机软件框架设计方法的工位任务界面局部图;42.图6为本发明实施例锂电设备上位机软件框架设计方法的功能组件界面局部图;43.图7为本发明实施例锂电设备上位机软件框架设计方法的实例调用界面局部图;44.图8为本发明实施例锂电设备上位机软件框架设计方法的功能层接口统一输入示意图;45.图9为本发明实施例锂电设备上位机软件框架设计方法的功能层接口统一输出示意图。具体实施方式46.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。47.申请人从进入锂电行业后,到目前,研发、设计、制造并在客户工厂投入生产使用的设备约20款,总数超过2000台,因此申请人对这些锂电设备的上位机软件的功能和操作要求有比较深刻的理解,并积累了大量的上位机软件的研发、调试、现场维护经验。48.其中,锂电设备上位机软件功能包括但不限于:回复plc心跳、记录plc报警信息、记录plc人工干预信息、电池入站扫码、mes信息查询入站管控、测量电池制造参数(如压力、风速、流量、温度、尺寸、电压、绝缘电阻值,气密性漏率等)、出站扫码、打印条码、写数据报表、记录软件运行日志、用户权限管控、参数设置、显示数据报表、显示外设状态、显示本机参数、显示调试工具和调试信息、显示工位数据等。49.申请人当前的上位机软件每款设备有一个模板软件,通过修改模板软件实现新项目的功能。需要修改的内容包括(但不限于):上位机与plc控制协议文件(包括设备的俯视平面图、工位定义、功能描述、虚拟条码地址、虚拟条码分配方式、plc触发信号地址和触发功能、pc回复plc信号地址和意义、plc写输入地址和数据定义、pc写数据地址和数据定义等)、plc数据解析为软件触发信号组件(依据协议修改、从plc读到的数据字符串转换为bool类型数据、对应各个pc功能触发信号)、plc数据转换为虚拟条码(电池序号)组件(依据协议修改,从plc读到的数据字符串转换为int16类型数据,对应每个工位的电池序号)、pc功能标签组件(依据协议修改,设备定义的软件需要实现的功能,比如回复心跳、记录报警信息、记录人工干预、读取流量数据、读取压力、清除单个数据、清除全部数据、保存报表、判断电池结论、入站扫码等)、pc回复plc信号组件(依据协议修改,如回复心跳、写90000000,回复报警、写90010000等)、设备工位数据组件(依据客户技术规格书修改,客户要求电池制造过程记录什么参数,就要设计对应的测量系统和数据记录方法及数据字段等)、报表项目组件(软件采集和记录的数据一般会更多,依据客户要求,由客户选择需要写入报表的数据项目)、软件界面(根据外部设备的数量,调整外设端口和状态显示控件的数量;根据设备工位布局和数量,调整软件界面工位数据显示控件的布局和数量、触发信号等;根据外设类型和数量,调整外设手动调试按钮和调试信息输出显示控件等)、软件控制逻辑(根据设备功能,增加外设和采集的数据,需要增加数据采集部分逻辑控制等)。修改内容较多,从协议文档,到数据类型定义,到功能组件,到逻辑组件,到显示界面等。并且在调试过程中、客户现场验收和生产过程中,也会提出一些功能增加的需求,也需要修改相关部分的组件和逻辑代码。50.因此,基于以上内容,本技术实施例提供一种锂电设备上位机软件框架设计方法,方法包括:分离设计的底层逻辑设计方法和界面显示设计方法;51.其中,请参阅图1,底层逻辑设计方法包括:52.s101、初始化本地变量,并读取锂电设备的参数配置文件和任务配置文件;53.s102、打开外部设备通讯端口,并读取plc数据;54.s103、解析plc数据,从解析出的plc数据中判断任务功能的触发信号是否有效;55.s104、若有效,则调用软件功能,控制外部设备运行;56.s105、将外部设备运行的参数保存到软件内部的预设组件;57.s106、将锂电产品的数据保存到本地文件或者客户mes系统,并结束底层逻辑运行;58.在本实施例中,界面设计方法包括:59.利用表格控件,并通过修改代码来修改表格内容;60.将表格内容在界面显示。61.在上位机软件的设计方法中,此类软件常规执行步骤是:a)读取plc内部数据;b)解析数据,展示解析出的数据;c)根据解析的数据,触发工位功能执行;d)回复plc功能执行结果数据;e)保存功能数据到工位数据组件等。可以考虑减少的非必要中间环节代码在b)和c)中。在本发明提出之前,发明人的设计是给每个解析出来的信号/虚拟条码定义一个变量,方便显示和引用;给每个触发功能定义一个枚举标签,方便使用,但这样会增加很多工作量。本实现方案去掉这些环节,直接从读到的数据数组中索引对应的数据。相关数据在界面的【工位任务】表格中显示,如【虚拟条码(显示当前工位的实时虚拟条码数据)】,【电池条码(显示当前虚拟条码绑定的实际电池条码)】,【触发?(触发信号状态;1-触发;0-未触发)】,【bok?(回复plc信息执行是否成功,ok-成功;ng-失败)】,【发送(回复plc的实际数据)】,【接收(接收到plc的应答数据)】,【消息(当前任务的执行状态等】,【外设状态(外设读取的实时数据显示等)】。62.因此,本发明提供的一种锂电设备上位机软件框架设计方法,通过分离设计底层逻辑设计和界面显示设计,使得底层逻辑的修改不影响界面,界面修改不影响底层逻辑,一个底层代码适应多款或全部设备;并通过调用软件功能,实现代码的复用,无需重新设计代码,从而提升了锂电设备上位机软件框架设计时的效率。63.在一个实施例中,底层逻辑设计方法还包括:在读取参数配置文件和任务配置文件时,若读取失败,则结束底层逻辑的运行;在对锂电产品完成全部工序后,若不退出底层逻辑的运行,则重新执行调用软件功能,控制外部设备运行的步骤。64.在一个实施例中,底层逻辑设计方法还包括:预先设计软件代码,将软件代码中的软件功能和实现细节进行分析、概括、提炼,抽象出通用的概念和对象,并将抽象出的概念和对象进行封装,得到不同功能的功能模块。65.调用软件功能的方法包括:66.从任务配置文件读取并解析全部任务清单;67.从解析出的plc数据中获取全部任务的触发信号;68.对任务清单进行遍历,执行每一个任务;69.判断任务清单的遍历是否结束;70.若任务清单的遍历未结束,则解析任务调度功能,遍历所有功能模块;71.判断遍历的当前功能模块是否和任务调度功能相匹配;72.若不匹配,则继续遍历下一个功能模块;73.若相匹配,则当前功能模块的软件功能和实现细节被触发,执行当前功能模块,并在执行预设的任务时间后,返回判断任务清单的遍历是否结束的步骤;74.若任务清单的遍历结束,则结束调用软件功能。75.在本实施例中,预先设计规范统一的软件框架;76.在进行所述底层逻辑设计和所述界面显示设计时,引用所述软件框架。77.在本实施例中,对软件功能和实现细节进行分析、概括、提炼等,抽象出通用的概念和对象,用对象/组件封装,形成一套完整的、灵活的、适应性强的代码,实现复用。核心对象/组件包括(但不限于):plc触发信号/trigger、plc虚拟条码/vircode、任务/task、工位数据/stationdata、功能/fun、软件工作模式/mode、外部设备/device、驱动器/driver、数据报表/report、参数设置/settings、运行日志/runlog、功能调度/run、软件运行流程/core、显示数据报表表格/tablereport、显示外设表格/tabledevice、显示任务表格/tabletask等。78.当前实现方案,只有【0this】文件夹的组件需要根据项目的需求变化而改变,其他代码可以复用。79.当前考虑数据的直观和简洁,减少冗余数据等,部分代码不能复用。如:lcodstationdata.this:设备工位数据组件,每款设备需要采集和保存的数据不同;_mytypesettings.this:本机参数类型,每款设备或每个客户需要设置不同的本机参数;_mytypefun.ctl、run:本机功能调用组件,每款设备需要调用的功能不同。80.本实现方案,抽象出的通用概念和核心对象,说明如下:81.4.1.2.1)触发信号/trigger;82.4.1.2.2)虚拟条码/vircode;83.4.1.2.3)任务/task;84.4.1.2.4)工位数据/stationdata;85.4.1.3.5)功能/fun;86.4.1.3.6)软件工作模式/mode;87.4.1.3.7)外部设备/device;88.4.1.3.8)驱动器/driver;89.4.1.3.9)数据报表/report;90.4.1.3.10)参数设置/settings;91.4.1.3.11)运行日志/runlog;92.4.1.3.12)功能调用/run;93.4.1.3.13)软件运行流程/core;94.4.1.3.14)显示数据报表表格/tablereport;95.4.1.3.15)显示外设表格/tabledevice;96.4.1.3.16)显示任务表格/tabletask。97.在本实施例中,以某型号的入壳机为例,工位有上料位、电芯来料扫码位1/2,电芯上料爪子位1/2,电芯清洁位1/2,入壳等待位1/2,入壳完成位1/2,机器人爪子位1/2,电池缓存位1/2等。这里定义的工位,是最多仅有1个物料停留,由机构组件和电控组件组成的,完成一定功能的系统。一个工位需要软件完成0个或者多个功能(比如读取虚拟条码、读取触发信号、扫码条码、记录虚拟条码和电池条码、回复plc信号等)。98.通过以上描述,可抽象出【任务/task】对象/组件,一个工位可以有多个任务,一台设备由若干个工位的若干个任务组成。每个任务,需要调用的功能不同,抽象出【功能/fun】对象/组件;有的功能,需要外部仪器仪表才能完成数据采集,抽象出【外设/device】和【驱动器/driver】对象/组件;外设工作需要配置参数和判断结果的上下限参数,抽象出【参数设置/settings】对象/组件。众多的功能需要通过配置文件调度,抽象出【调度/run】对象/组件等。99.在一个实施例中,锂电设备上位机软件框架设计方法还包括:预先设计规范统一的软件框架;在进行底层逻辑设计和界面显示设计时,引用软件框架。100.在本实施例中,软件框架组织方式采用:101.【1model】:文件夹,底层驱动/功能/逻辑等,包含的文件夹有:102.【0this】:包含文件和文件夹,非框架代码,项目专用代码;103.【1plc】:包含文件,plc触发信号、虚拟条码、数据转换等相关组件;104.【2task】;包含文件,任务数据类型定义、任务、任务配置、任务应答信息组件等;105.【3station】:包含文件,工位数据结论判断组件等;106.【4fun】:文件夹,包含功能类组件的文件夹,包括:107.【0xxcommon】:包含文件,通用无外设类,如回复心跳、回报报警、清除数据、写报表等;108.【1xxperipheral】:包含文件,通用外设类,如入站/出站扫码、dm7275(测电压)等;109.【2xxmylar】:包含文件,mylar机通用类:如读焊接a面/b面数据、检测a面/b面效果等;110.【3xxruke】:包含文件,入壳机通用类,如读入壳压力、读壳体/电芯清洗数据等;111.【4xxhe】:包含文件,氦检机通用类,如...等;112.【5xxcqfk】:包含文件,注液机(一次/二次注液机)通用类,如前称重、设置注液量等;113.【6xxbmcl】:包含文件,包膜测量机通用类,如测试高度、测试厚度等;114.【7xxwelding】:包含文件,焊接机通用类,如读取激光数据、读取压力数据、读取测试数据等;115.【5mode】:包含文件,设备软件工作模式管理组件;116.【6device】:包含文件,外设管理组件;117.【7driver】:包含文件夹,每款外设一个文件夹,包括协议组件、功能组件、测试组件等;118._ioconfigforcomm:文件,字符串转串口配置参数组件;119._ioconfigforehernet:文件,字符串转网口配置参数组件;120.【1fsh-cf】:包含文件,注液泵驱动相关组件;121.【2y800】:包含文件,y800压力传感器相关组件;122.【3ix055】:包含文件,尺寸测量激光传感器相关组件;123.【4dp5p】:包含文件,尺寸测量位移传感器相关组件;124.【5sr1000】:包含文件,扫码枪相关组件;125.【6hp34461】:包含文件,电压测试仪相关组件;126.【7yd9911】:包含文件,绝缘电阻测试仪相关组件;127.【8zebra】:包含文件,斑马条码打印机相关组件;128.【9dm7275】:包含文件,电压测试仪相关组件;129.......130.【8report】:包含文件,写报表组件等;131.【9settings】:包含文件,参数设置类组件等;132.【alog】:包含文件,运行日志类组件等;133.【btool】:包含文件,工具类组件,比如串口控制类、tcp控制类组件等;134.【xrun】:包含文件,功能调用组件等;135.【ybase】:包含文件,基础类组件,如数据转换、数据转显示字符串类、错误信息输出类组件等;136.【zcore】:包含文件,运行底层流程/内核组件等;137.【2view_mdoel】:文件夹,mode和view之间的数据转换和连接,包括:138.【1tablereport】:文件夹,数据报表显示相关组件;139.【2tabledevice】:文件夹,外设状态显示相关组件;140.【3tabletask】:文件夹,工位任务表格显示相关组件;141.【4log】:文件夹,日志信息显示相关组件142.【5overtime】:文件夹,超时组件;143.【7dimension】:文件夹,尺寸测量相关组件;144.【8tablegaugereport】:文件夹,测电池规数据报表显示相关组件;145.【3view】:文件夹,软件界面,包括:自动运行界面、尺寸测量配置和校准工具界面、打码机配置工具界面、本机参数设置界面等等;146.【uiauto】:文件,自动运行界面;147.【uidimension】:文件,尺寸测量配置和校准工具界面;148.【uipringer】:文件,打码机配置工具界面;149.【uisetting】:文件,本机参数设置界面;150.等等151.以上为框架类公用代码。项目专用代码放置在1model\0this文件夹,包括:152.【1station.x】:包含文件,本机工位数据类组件;153.【2settings.x】:包含文件,本机参数类组件;154.【3run.x】:包含文件,本机功能调用组件。155.在本实施例中,还使用csv格式的文档配置软件功能,使得软件的功能可配置,该方案的优点为:同款设备功能相当,工位的编排顺序不同;产能不同,同一功能的工位数量不同。这种情况下只是需要调整配置文件内容,不需要修改软件代码,就可以适合设备使用。156.其中,配置文件格式如图2所示,在图中,一些名称表示的内容如下:157.【工位】:机构设计时设计师定义的工位名称,便于公司内部沟通和交流,软件不使用;158.【工位描述】:对上述【工位】的描述,软件内部使用;159.【条码地址】:当前工位中的物料的虚拟条码存放的地址;160.【触发信号】:当前工位是否立即执行预先定义的功能的触发信号的地址;空:无触发信号;161.【功能】:当前工位需要执行的功能,比如《heart》回复plc心跳,《tst_height》测量电池高度等;162.【回复地址】:pc执行完功能,回复plc状态数据的地址;163.【回复值定义】:说明信息,用于调试人员调试时,检查信号是否正确;164.【plc写dm区】:plc有数据需要pc读取时,指定数据的开始地址,pc从开始地址读取数据;165.【pc写dm区】:pc有数据需要写入plc时,指定数据的开始地址,pc从开始地址写入数据;166.【外设名称】:指定外部设备的名称,外设索引的唯一标志;167.【外设配置】:外设的配置参数,格式:型号 接口 配置参数;168.如:前扫码枪1|rs1000:192.168.1.110:9004:型号rs1000,ip地址192.168.1.110,端口9004;169.【工位编号】:同一功能的功能编号,客户要求必需记录的信息;170.【备注】:备注信息。171.在一个实施例中,锂电设备上位机软件框架设计方法还包括:在进行界面设计时,将预先收集的用户期望信息显示在界面上。172.从面向用户的角度考虑,需要预先收集典型用户的期望信息,典型的用户包括设计人员(软件设计工程师、电气设计工程师等),调试人员(调试工程师、售后服务人员、设备维护人员等),操作员,客户工程师(ie工程师、pe工程师等)等。不同用户对于软件的操作和信息显示要求不同,如设计人员:期望看到软件的全部执行细节,最好如镂空的手表;操作员:期望看到结果,数据报表,设备整机/外设状态,及生产统计数据;调试人员:期望看到pc与plc交互的详细信息,pc与外设交互的详细信息,测量的实时数据,通讯状态和调试工具,参数配置和调试工具等;客户工程师:期望看到参数设置和参数测量实时数据和结果、日志信息等。173.此类软件界面,显示内容包括:用户登入按钮、用户登入信息、最新的n个数据报表、外设(外部仪器仪表)状态(ok/ng)、当前本机参数设置(包括本机工序相关参数,物料批次,参数测试条件参数,参数上下限规格,条码格式,mes相关配置参数,白晚班时间等)、调试信息(手动触发按钮,手动信息显示,设备工位排布,工位功能触发信号状态,工位数据显示等)、日志信息显示(如软件错误,plc报警信息,plc和软件人工操作信息等)、外设调试工具(如尺寸测量配置界面(包括:1标准规大/中/小参数设置,2探针配对,3中规调整,4测试大/中/小规确认,5设置测试补偿值等)、打码机配置(包括:0设置维护保养计数,1标签参数设置,2打印字体下载,3打码机配置,4打码机状态读取,5打印测试等)、等等。174.本实现方案把每类典型用户期望的操作和信息设计在一个软件界面,确保信息的完整性和操作的方便性,不过多给用户展示不相关和不需要的信息,避免给用户造成困扰。其中,报表与外设界面用于用户给操作员,查看最新的产品数据,外部设备状态(ok/ng),具体如图3所示。本机参数界面全部参数集中在一个界面显示,需要根据每款设备或不同客户要求定制,具体如图4所示。工位任务界面显示了各个工位的任务,具体如图5所示。175.在显示界面中,使用表格控件,优势是不需要调整外观、尺寸,仅通过代码修改表格的标题、数据行数、表格内容等,可以兼容全部产品需要。用表格展示的数据【数据报表】、【外设状态】、【工位任务】;文本框控件显示文本信息,操作简单,也能实现自动下拉,用于显示【运行日志】信息;取消全部手动调试相关的按钮,信息显示文本框和指示灯,通过选择【工位任务】表格的行、索引任务、驱动外设,实现原有手动调试功能。176.在一个实施例中,plc数据的解析方法包括:从读取到的plc数据中解析出对应的功能触发信号;在功能触发信号是否有效的判断中,根据功能数据判断外部设备的触发信号是否有效。177.在一个实施例中,在引用软件框架时,通过调用软件功能的方法,实现软件框架的框架功能。178.在一个实施例中,预先建立库代码,库代码包括数量可添加的公用代码;在执行底层逻辑设计或界面显示设计时,直接调用库代码内的公用代码。179.在本实施例中,需要调用的代码主要包括:功能代码/fun、外设驱动代码/driver。影响库代码调用的因素有:a)是否方便查找和检索;b)是否有清晰明了的功能说明;c)是否有实例展示使用方法等。180.其中,方便查找和检索:功能代码/fun,可参考其他实施例中【fun】相关说明;驱动代码/driver,可参考其他实施例中【driver】的相关说明。181.清晰的功能说明:本设计方案,组件功能说明参考如下(以lcoddp5p为例,如图6所示):182.在图中,【input】:左侧,输入参数;183.【output】:中间,输出参数;184.【说明】:版权声明、功能说明、输入参数说明、输出参数说明、本地变量说明等。185.在进行实例展示调用时,实例展示调用方法如图7所示。186.在一个实施例中,在上位机的功能层实现接口统一,功能层用于执行调用软件功能的步骤,以调用底层驱动和组件实现特定功能。187.在本实施例中,目的是为了设计向后兼容的软件,在未来研发出更优的算法,更好的实现方式等情况时,在最小投入的情况下能够升级旧软件,提升旧软件的性能,这也是客户期望的。要达到向后兼容,可以从几点入手:a)软件框架稳定,不频繁变化;b)软件功能模组/底层驱动等,接口(输入参数,输出参数)稳定、统一,具体地,可参考其他实施例中设计规范统一的软件框架的方案。188.本实现方案从实现功能层面分为:189.a)功能调用层,解析功能设置字符串,调用对应的功能组件;190.b)功能层,调用底层驱动和组件实现特定功能;191.c)驱动层,调用接口控制组件和协议组件等,实现驱动功能。192.要实现向后兼容的软件,可以从这三个层面设计接口统一的组件实现。实际项目过程中,由于同类型的外部设备差别大,控制方式也有不同,要在驱动层实现接口稳定、统一,是很困难的,我们在功能层实现接口统一是可实现的。本实现方案,功能层/fun,接口统一如图8和图9所示,其中,193.【输入】:任务类型数据输入,错误输入;194.【输出】:任务类型数据输出,错误输出。195.综上所述,本技术提供的锂电设备上位机软件框架设计方法,从以下几点入手:196.a)设计规范统一的框架:后续每个项目直接引用,不需要再次设计;197.b)代码复用:设计的代码,通过测试(功能测试和生产测试)整理、归档、固化和入库,后续项目直接调用,不需要重复设计;198.c)设计新的界面数据展示和操作方式,提高界面元素(输入控件和显示控件)的兼容性和适应性,减少界面元素的修改;199.d)减少非必要的中间环节代码;200.e)软件功能可配置,避免硬编码。从而提升此类软件研发、设计、调试及现场维护的效率。201.本发明提供一种锂电设备上位机软件框架设计方法,有益效果在于:通过分离设计底层逻辑设计和界面显示设计,使得底层逻辑的修改不影响界面,界面修改不影响底层逻辑,一个底层代码适应多款或全部设备;并通过调用软件功能,实现代码的复用,无需重新设计代码,从而提升了锂电设备上位机软件设计时的效率。202.在本技术所提供的几个实施例中,应该理解到,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定都是本发明所必须的。203.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。204.以上为对本发明所提供的一种锂电设备上位机软件框架设计方法的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献