电梯控制软件现场调试系统的制作方法

文档序号:8139384阅读:189来源:国知局
专利名称:电梯控制软件现场调试系统的制作方法
技术领域
本发明涉及电梯控制领域,特别是涉及一种电梯控制软件现场调试系统。
背景技术
随着用户需求的不断增加以及电梯技术的发展,电梯控制软件功能变得越来越复杂,直接使用汇编语言进行电梯控制软件开发的工作量也变得越来越庞大。另外,随着编译技术的不断进步,使用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。所述数据库加载模块21a根据所述主逻辑模块21c的指令加载相应的数据库文件至上位机12内存中供搜索与匹配模块21d使用;所述人机交互界面21b接收用户输入的字符串或地址数值并传递给主逻辑模块21c,根据主逻辑模块21c的指令进行显示;所述主逻辑模块21c负责各模块之间的协调工作;所述搜索与匹配模块21d根据主逻辑模块21c的指令在加载到上位机12内存中的数据库中进行搜索和匹配操作,并将操作结果反馈给主逻辑模块21c ;所述通讯模块21e和电梯运行控制器11通讯。图3是所述上位机调试软件21的程序流程图,下面结合该流程图说明所述电梯控制软件现场调试系统的工作过程。在所述上位机12上运行所述上位机调试软件21之前,先连接好所述电梯运行控制器11和所述上位机12通讯接口之间的连线,并使得所述电梯运行控制器11处于工作状态。所述上位机调试软件21的主逻辑模块21c发送建立通讯指令给通讯模块21e,通讯模块21e将尝试和电梯运行控制器11建立通讯,如果在一段时间内无法成功建立通讯,则反馈建立通讯失败信息给主逻辑模块21c,主逻辑模块21c发送显示建立通讯失败信息指令给人机交互界面21b,然后让上位机调试软件21退出执行;如果成功建立通讯,则进行下一步操作。主逻辑模块21c发送读取电梯控制软件版本号指令给通讯模块21e,如果通讯模块 21e从电梯运行控制器11读取电梯控制软件版本号失败,则反馈读取电梯控制软件版本号失败信息给主逻辑模块21c ;主逻辑模块21c发送显示电梯控制软件版本号失败信息指令给人机交互界面21b,然后让上位机调试软件21退出执行;如果成功读取电梯控制软件版本号,则进行下一步操作。主逻辑模块21c发送加载数据库指令给数据库加载模块21a,数据库加载模块21a将根据电梯控制软件版本号在指定目录下查找并加载对应的数据库文件至内存中,如果查找不到对应的数据库文件或者加载数据库文件失败,数据库加载模块 21a将反馈加载数据库失败信息给主逻辑模块21c,主逻辑模块21c发送显示加载数据库失败信息指令给人机交互界面21b,然后让上位机调试软件21退出执行;如果加载数据库成功,则初始化过程结束。人机交互界面21b将开始检测用户是否输入了字符串或者地址,如果检测到用户输入了字符串或者地址,人机交互界面21b将把字符串或者地址传递给主逻辑模块21c,主逻辑模块21c发送搜索匹配指令给搜索匹配模块21d,搜索匹配模块21d在已加载到内存的数据库中与每条记录进行字符串或者地址匹配,所有记录都匹配完后,搜索匹配模块21d将搜索匹配结果反馈给主逻辑模块21c。主逻辑模块21c将根据搜索匹配结果进行不同的操作,如果没有任何记录匹配成功,则发送显示提示变量名或者地址输入错误信息指令给人机交互界面21b ;如果有多条记录匹配成功,则发送显示所有匹配成功记录信息指令给人机交互界面21b,以供用户选择,若用户选择了其中某条记录后,则此次匹配结束,进入读取内存地址阶段;若有且仅有一条记录匹配成功,则此次也匹配结束,进入读取内存地址阶段。主逻辑模块21c将发送读取内存地址指令给通讯模块21e,通讯模块 21 e发送读取内存地址指令给电梯运行控制器11,并将电梯运行控制器11发回的读取到的数据反馈给主逻辑模块21c,主逻辑模块21c将发送显示完整变量名、最内层分量注释、地址和地址中数据的指令给人机交互界面21b,如此一次匹配和读取完成,接下来将定时从电梯运行控制器11读取并更新人机交互界面21b上地址中的数据,直至再次检测到用户输入新的字符串或者地址,则起动下一次的匹配和读取过程。此外,人机交互界面21b可以同时显示多个变量的变量名、最内层分量注释、地址和地址中数据,以方便用户调试时使用。
以上通过具体实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种电梯控制软件现场调试系统,其特征在于包括,电梯运行控制器,执行电梯控制软件,监测、控制和保护电梯的正常运行,同时通过通讯接口与上位机进行通讯,根据所收到的上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机;上位机,根据用户输入的字符串或地址搜索数据库中的记录并进行匹配,如成功匹配的记录多于一项,则将所有成功匹配的记录显示出来,供用户选择;若记录唯一确定后,所述上位机将从所述电梯运行控制器读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。
2.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述电梯运行控制器在执行电梯控制软件的同时执行调试通讯软件;所述电梯控制软件为被调试对象,根据输入的编码器、井道、轿内操纵箱、层站、门和外部开关信号,经过电梯运行控制算法的处理,生成运行速度、轿内操纵箱、层站、门和外部开关的输出指令信号,从而实现对电梯正常运行的监测、控制和保护;所述调试通讯软件根据所收到的所述上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机。
3.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述通讯接口是USB、以太网、串口、CAN、红外或蓝牙接口,在上位机与电梯运行控制器之间以不低于 9600bps半双工或全双工方式传输数据。
4.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述上位机执行上位机调试软件;所述上位机调试软件从所述电梯运行控制器读取所述电梯控制软件版本号,并根据版本号加载相应的数据库文件至内存中;所述上位机调试软件检测到用户在人机交互界面输入字符串或地址后,立刻开始在数据库中搜索并匹配所输入的字符串或地址,并将匹配成功的记录提示出来供用户选择;随着用户输入信息的增多,匹配成功的记录将越来越少,当只有唯一一条记录匹配成功或用户选中其中某条记录时,匹配过程结束;如无记录匹配成功,则在人机交互界面上提示用户输入的标识符或地址错误,匹配过程结束; 若有唯一一条记录匹配成功,所述上位机调试软件将从所述电梯运行控制器读取对应地址中的数据,并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。
5.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述数据库由软件生成,该软件通过将电梯控制软件编译时所生成的标识符-地址映射表MAP文件中的所有全局变量和静态变量,结合电梯控制软件源代码,全部都展开到最内层分量,并逐个生成记录存储于数据库文件中;每一个版本电梯控制软件都有一个以对应版本号命名的所述数据库文件随之一起发布。
6.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述记录包含叶记录和父记录;叶记录指最内层分量所对应的记录,包含变量或分量名、最内层分量注释、 对应的地址和指向父记录的指针;父记录指至少有一个子分量的标识符所对应的记录,包含标识符和指向父记录的指针,用于记录中间分量的上一级记录是谁,以形成完整的树状结构,便于进行搜索和匹配;若所述叶记录或父记录没有父记录,则其指向父记录的指针为空。
7.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述匹配是指将用户所输入的字符串或地址和数据库中所有记录的标识符或地址进行比较,所述成功匹配是指数据库记录的标识符包含用户所输入的字符串或数据库记录的地址和用户所输入的地址完全一致。
8.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述完整变量名是指包含最内层分量名、其父记录标识符、父记录的父记录的标识符直至最顶层记录的标识符完整信息在内的名称。
9.根据权利要求1所述的电梯控制软件现场调试系统,其特征在于所述最内层分量注释是指源代码中提供的位于最内层分量同一行后面的解释性的字符串或文字,用于解释相应最内层分量的含义。
全文摘要
本发明公开了一种电梯控制软件现场调试系统,电梯运行控制器,监测、控制和保护电梯的正常运行,同时通过通讯接口与上位机进行通讯,根据所收到的所述上位机下发的获取内存地址中数据的指令,读取相应地址中的数据并回发给上位机;上位机,根据用户输入的字符串或地址搜索数据库中的记录并进行匹配,如成功匹配的记录多于一项,则将所有成功匹配的记录显示出来,供用户选择;若记录唯一确定后,所述上位机将从电梯运行控制器读取对应地址中的数据并与完整变量名、最内层分量注释和地址一起显示出来,供用户调试分析使用。本发明可以解决电梯控制软件调试过程中手工计算变量地址麻烦且容易算错的问题,从而大大提高电梯控制软件调试的效率。
文档编号B66B1/28GK102234046SQ20101016923
公开日2011年11月9日 申请日期2010年5月7日 优先权日2010年5月7日
发明者唐启峰 申请人:上海三菱电梯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1