本发明专利技术公开了一种电梯控制软件现场调试系统,电梯运行控制器,监测、控制和保护电梯的正常运行,同时通过通讯接口与上位机进行通讯,根据所收到的所述上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机;上位机,根据用户输入的字符串或地址搜索数据库中的记录并进行匹配,如成功匹配的记录多于一项,则将所有成功匹配的记录显示出来,供用户选择;若记录唯一确定后,所述上位机将从电梯运行控制器读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。本发明专利技术可以解决电梯控制软件调试过程中手工计算变量地址麻烦且容易算错的问题,从而大大提高电梯控制软件调试的效率。
【技术实现步骤摘要】
本专利技术涉及电梯控制领域,特别是涉及一种电梯控制软件现场调试系统。
技术介绍
随着用户需求的不断增加以及电梯技术的发展,电梯控制软件功能变得越来越复杂,直接使用汇编语言进行电梯控制软件开发的工作量也变得越来越庞大。另外,随着编译技术的不断进步,使用C语言所开发的软件编译后生成的代码的效率得到了大幅提高;C语言良好的可读性和可移植性使得其应用可大大缩短电梯控制软件的开发周期且易于后期维护;C语言已成为电梯控制软件开发的主流语言。由于现场电梯运行的工况较恶劣,一般通用的仿真器或调试工具在现场有时会无法正常工作。通用仿真器或调试工具的价格又较贵,因此目前对电梯控制软件进行现场调试的主要方法是通过专用调试工具来观察全局或静态变量的地址中的值来判断程序执行是否正确,这样就需要计算待观察变量的地址。如果需要观察使用C语言所编写代码中的多层嵌套的结构体变量的内层结构体分量的地址中的值时,手工计算将变得非常麻烦,而且容易算错,从而大大降低了调试的效率。
技术实现思路
本专利技术要解决的技术问题是提供一种电梯控制软件现场调试系统,能够自动通过变量名准确计算出变量地址并读取变量地址中的值,简单实用,省时省力,有效提高调试效率。为解决上述技术问题,本专利技术的电梯控制软件现场调试系统包括电梯运行控制器,执行电梯控制软件,监测、控制和保护电梯的正常运行,同时通过通讯接口与上位机进行通讯,根据所收到的所述上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机;上位机,根据用户输入的字符串或地址搜索数据库中的记录并进行匹配,如成功匹配的记录多于一项,则将所有成功匹配的记录显示出来,供用户选择;若记录唯一确定后,所述上位机将从所述电梯运行控制器读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。采用本专利技术的电梯控制软件现场调试系统,能够自动通过变量名查找出对应的完整变量名及最内层分量注释,计算出变量地址,读取变量地址中的值并显示于人机交互界面上,供开发、调试人员调试分析使用;还能够自动通过变量地址查找出对应的完整变量名及最内层分量注释,读取变量地址中的值并显示于人机交互界面(即用户界面)上,供开发、调试人员调试分析使用;计算得到的变量地址准确,计算过程简单实用,省时省力;有效解决了在电梯控制软件调试过程中采用手工计算变量地址,不仅麻烦且容易算错的问题;显著提高了电梯控制软件现场调试的效率。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明图1是本专利技术的一实施例总体结构图;图2是图1中上位机运行的上位机调试软件结构图;图3是图2中上位机调试软件的程序流程图。具体实施例方式参见图1所示,在本专利技术的一实施例中所述电梯控制软件现场调试系统包括电梯运行控制器11和上位机12,两者之间通过通讯接口进行通讯。所述通讯接口可以是USB(通用串行总线)、以太网、串口、CAN(控制器区域网)、红外或蓝牙等等接口,只要满足在上位机与电梯运行控制器之间以不低于9600bps (位每秒) 半双工或全双工方式传输数据即可。所述电梯运行控制器11监测、控制和保护电梯的正常运行,同时根据收到的所述上位机12下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给所述上位机12。所述电梯运行控制器11同时执行电梯控制软件和调试通讯软件;所述电梯控制软件为被调试对象,根据输入的编码器、井道、轿内操纵箱、层站、门和外部开关信号,经过电梯运行控制算法的处理,生成运行速度、轿内操纵箱、层站、门和外部开关的输出指令信号,从而实现对电梯正常运行的监测、控制和保护;所述调试通讯软件根据所收到的所述上位机12下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给所述上位机 12。所述上位机12根据用户输入的字符串或地址搜索数据库中的记录并进行匹配, 如成功匹配的记录多于一项,则将所有成功匹配的记录提示(即在用户界面上显示)出来供用户选择。若记录唯一确定后,所述上位机12将从电梯运行控制器11读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。所述数据库由软件生成。该软件通过将电梯控制软件编译时所生成的MAP(标识符-地址映射表)文件中的所有全局和静态变量,结合电梯控制软件源代码,全部都展开到最内层分量(MAP文件只提供最顶层变量的地址,所以需结合源代码进行展开),并逐个生成记录存储于数据库中。每一个版本电梯控制软件都有一个以对应版本号命名的所述数据库随之一起发布。所述数据库以文件的形式存储于上位机硬盘中,在需要使用的时候再加载到内存中。所述电梯控制软件源代码使用C语言编写,经过编译器编译后生成可执行代码和 MAP文件,可执行代码由电梯运行控制器11执行,MAP文件记录有源代码中的标识符(包括变量名、函数名等)与地址的对应关系。所述全局变量是指所有模块都可访问且在软件执行过程中一直有效的变量,所述静态变量是指特定模块或函数可访问且在软件执行过程中一直有效的变量。所述分量是指软件中定义的结构体或联合体等类型变量的子一级的变量,其一般可用A. a或A-> a的形式表示,其中A是软件中定义的结构体或联合体等类型的变量,a是 A的一个分量。所述最内层分量是指没有子分量的分量,如上述例子中a没有子分量,则a 即为最内层分量。所述最内层分量注释是指源代码中提供的位于最内层分量同一行后面的解释性的字符串或文字,用于解释相应最内层分量的含义;可增强代码的可读性,在所述电梯控制软件现场调试系统中使用该信息有助于调试人员的调试分析工作。所述记录包含叶记录和父记录。叶记录指最内层分量所对应的记录,包括变量或分量名、最内层分量注释、对应的地址和指向父(中间)记录的指针,用于记录最内层分量的注释、地址和其上一级记录;父记录指至少有一个子分量的标识符(模块名、函数名、变量名或分量名)所对应的记录,包含标识符和指向父记录的指针,用于记录中间分量的上一级记录是谁,以形成完整的树状结构,便于进行搜索和匹配。若所述叶记录或父记录没有父记录,则其指向父记录的指针为空。所述匹配指将用户所输入的字符串或地址和数据库中所有记录的标识符或地址进行比较,所述成功匹配是指数据库记录的标识符包含用户所输入的字符串或数据库记录的地址和用户所输入的地址完全一样。所述完整变量名是指包含最内层分量名、其父记录标识符、父记录的父记录的标识符、...直至最顶层记录(指向父记录的指针为空)的标识符等完整信息在内的名称。如在test, c文件的开头部分定义了结构体类型的全局变量A,静态变量B,在test, c文件的 main函数中定义了静态变量C ;变量A有一个分量a,该分量a也为结构体类型的,其有一个最内层分量aa,变量B有一个最内层分量b,变量C有一个最内层分量c ;则aa的完整变量名为A. a. aa, b的完整变量名为test. C- > B. b, c的完整变量名为test. C- > main- > C. c ο所述上位机12执行上位机调试软件21。如图2所示,所述上位机调试软件21包括数据库加载模块21a,人机交互界面 21b,主逻辑模块21c,搜索与匹配模块21d和通讯模块21e。所述数据库加本文档来自技高网...
【技术保护点】
1.一种电梯控制软件现场调试系统,其特征在于:包括,电梯运行控制器,执行电梯控制软件,监测、控制和保护电梯的正常运行,同时通过通讯接口与上位机进行通讯,根据所收到的上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机;上位机,根据用户输入的字符串或地址搜索数据库中的记录并进行匹配,如成功匹配的记录多于一项,则将所有成功匹配的记录显示出来,供用户选择;若记录唯一确定后,所述上位机将从所述电梯运行控制器读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。
【技术特征摘要】
【专利技术属性】
技术研发人员:唐启峰,
申请(专利权)人:上海三菱电梯有限公司,
类型:发明
国别省市:31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。