首页 / 控制软件现场调试系统以及调试方法

控制软件现场调试系统以及调试方法有效专利 发明

技术领域

[0001] 本发明涉及电梯控制领域,尤其是涉及一种电梯控制软件的现场调试系统。

相关背景技术

[0002] 电梯控制软件担负着电梯各部件信号的采集、处理,并根据处理结果协调、控制各部件工作的任务。由于编程简单、使用方便、设计和调试周期较短,可靠性高等优点,目前电梯控制软件以及基本淘汰了传统的继电器控制方式,成为电梯控制的核心系统。
[0003] 随着用户需求的不断增加以及电梯技术的发展,电梯控制软件功能变得越来越复杂,直接使用汇编语言进行电梯控制软件开发的工作量也变得越来越庞大。目前,随着编译技术的不断进步,使得高级语言例如C语言等取代了汇编语言,成为电梯控制软件的主流开发语言。
[0004] 对于电梯控制系统的现场调试,需要观察程序中全局或者静态变量的地址中的值来判断程序执行是否正确,因此需要计算待观察变量的地址。在观察使用C语言所编写代码中的多层嵌套的结构体变量的内层结构体分量的地址中的值时,需要进行手工计算,过程复杂而且容易出错,导致电梯控制系统的调试效率降低。
[0005] 现有技术中,200910201843.7的发明专利提出了一种解决上述问题的方法,其通过在调试上位机中设置存储由电梯控制软件所有全局变量和静态变量记录的数据库,根据电梯控制系统的版本号选择对应的数据库,将数据库中查找的完整变量名、最内层分量注释和地址与地址对应的数据一起显示出来提供给用户,从而解决了在电梯控制软件调试过程中采用手工计算变量地址的问题。
[0006] 但是200910201843.7发明中还存在如下技术问题,一方面电梯控制软件在调试过程中更新版本是很频繁的,其需要在上位机中存储每个版本的电梯控制软件对应的数据库,导致存储量较大;另一方面,需要将上位机中数据库版本与电梯控制软件的版本进行匹配,由于上位机的数据库的更新频率不一定与电梯控制软件的升级频率一致,可能导致不存在与电梯控制软件版本对应的数据库,而不存在与电梯控制软件版本对应的数据库时,则还是需要手动计算,无法进行电梯控制软件的自动调试。
[0007] 作为200910201843.7发明的改进,在先申请提出了一种电梯控制软件的现场调试系统,其中通过设置存储不同内存地址分别对应的最老版本号的运行数据库,从而仅需要在上位机中存储一个版本的数据库,同时即使上位机中不存在与电梯控制软件版本对应的数据库,还可能进行电梯控制软件的自动调试。但是,现场调试时通常需要同时获取多个内存地址的信息,其技术方案中需要对于每个内存地址的版本号都进行匹配,导致增加系统负担;而实际上电梯控制软件的升级中,尤其是小版本的升级中,可能仅涉及过程优化,定义好的内存地址信息基本不变。

具体实施方式

[0022] 为了更清楚地说明本发明的技术方案,下面将使用实施例对本发明进行简单地介绍,显而易见地,下面描述中的仅仅是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些实施例获取其他的技术方案,也属于本发明的公开范围。
[0023] 本发明实施例的电梯控制软件的现场调试系统,参见图1,包括运行控制器以及上位机。其中运行控制器设置于电梯内,运行电梯控制软件,监测、控制和保护电梯的正常运行。上位机用于电梯调试,其不固定于特定电梯,在电梯调试时通过通讯模块连接运行控制器,发送获取内存地址中数据的指令,将获取到的数据提供给用户分析使用。
[0024] 上位机具有对应的调试数据库,如201010169232.1的现有技术中一样,调试数据库由软件生成,其存储电梯控制软件编译时所生成的 MAP(标识符-地址映射表)文件中的所有全局和静态变量,结合电梯控制软件源代码,全部都展开到最内层分量,并逐个生成记录。
[0025] 调试数据库具有对应的电梯控制软件的版本号,其存储于上位机的存储介质中。版本号包括多个数字段,数字段由前到后依次表示不同级别的版本升级。软件版本号可以是三个数字段,例如1.3.2,其中第一位为表示大版本修改的发布,第二位表示中等版本修改的发布,第三位表示小版本的改动。各个数字段由版本号由旧到新升序设置,例如1.3.3版本比1.3.2版本新,2.1.0版本比1.3.3版本新。
[0026] 对于输入的上位机的调试数据库,仅保存输入的最新版本的调试数据库。例如,原来上位机对应的调试数据库对应的电梯控制软件的版本号为1.3.2,在输入对应电梯控制软件版本为1.3.3的调试数据库后,则删除对应电梯控制软件版本为1.3.2的调试数据库,仅对应电梯控制软件版本为1.3.3的调试数据库。
[0027] 运行数据库与电梯控制软件设置在位于电梯内的存储介质中,其存储不同内存地址分别对应的最老版本号。在更新电梯控制软件版本时,同时更新运行数据库,其中将对应的参数变化的内存地址对应的最老版本号变更为电梯控制软件版本的更新版本号,将对应的参数不变的内存地址对应的最老版本号设置为不变。例如,电梯控制软件版本号为1.3.2时,A.a.aa的最老版本号为1.3.2,B.b.bb的最老版本号为1.3.2,在电梯控制软件升级到1.3.3时,其代码中A.a.aa部分没有修改,B.b.bb对应的参数做了修改,则在升级电梯控制软件版本到1.3.3时,将运行数据库中的A.a.aa的最老版本号保持为1.3.2不变,B.b.bb的最老版本号修改为1.3.3。
[0028] 在更新电梯控制软件版本时,同时保存与电梯控制软件版本兼容的版本号。例如,电梯控制软件版本号更新为1.5.6时,其源代码中内存地址信息的定义与1.5.3,1.5.4以及1.5.5的定义是一样的,则运行数据库存储与当前电梯控制软件版本号兼容的版本号为
1.5.3,1.5.4以及1.5.5。
[0029] 电梯控制软件的现场调试流程,参见图2,将上位机移动至电梯,通过通讯模块连接运行控制器,从而与运行控制器建立连接。用户输入字符串或地址,上位机在最新版本的调试数据库中的记录中进行匹配,确定调试数据库中的唯一记录,如果存在多个记录,则由用户制定唯一记录;如果不存在唯一记录,则给出输入错误的提示。用户可以输入多个字符串或者地址,每个字符串或者地址对应一个唯一记录。
[0030] 上位机在将获取多个记录对应内存地址数据的指令以及调试数据库对应的电梯控制软件的版本号发送给运行控制器,运行控制器接收到指令后,获取各个内存地址的数据,同时通过根据运行数据库判断上位机发送的调试数据库对应的电梯控制软件的版本号是否与当前电梯控制软件版本号兼容:如果兼容时,则将各个内存地址的数据以及版本兼容的信息发送给上位机,所述上位机将运行控制器中获取各个内存地址的数据,将该数据以及完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用;
如果不兼容,所述运行控制器将各个内存地址的数据,各个内存地址对应的最老版本号,发送给上位机;所述上位机对于各个内存地址分别判断:调试数据库的版本号是否比该内存地址的最老版本号新,如果调试数据库的版本号比最老版本号新,则将运行控制器中获取该内存地址的数据,将该数据以及完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用;如果该内存地址的最老版本号比调试数据库的版本号新,则给出调试数据库中没有该内存地址所述最老版本号信息的提示。
[0031] 通过本发明的设置,在运行数据库中存储与当前电梯控制软件版本兼容的版本号,预先判断调试数据库中的版本号是否与当前电梯控制软件版本兼容,从而在调试数据库中的版本号与当前电梯控制软件版本兼容的情况下,对于在获取多个内存地址数据的指令,不再需要单独获取以及传送各个内存地址的最老版本号。
[0032] 在本发明提及的所有文献都在本申请中引用参考,就如同每一篇文献被单独引用作为参考那样。此外应理解,在阅读了本发明的上述公开内容之后,本发明的保护范围并不仅局限于上述实施例,本领域技术人员可以对本发明作各种改动或修改,在不脱离本发明原理前提下,这些等价形式同样落于本申请所附权利要求书所限定的范围。

当前第1页 第1页 第2页 第3页