一种电力机车控制柜的测试方法和装置 【技术领域】
本申请涉及机车测试领域, 特别涉及一种电力机车控制柜的测试方法和装置。背景技术 电力机车控制柜是电力机车控制系统的重要组成部分, 其主要功能是通过控制电 机的状态实现机车的牵引、 制动控制等, 其性能以及运行状态直接影响电力机车控制系统 的功能。因此, 需要一种准确的测试方法对电力机车控制柜进行测试。
现有技术中, 通常利用电力机车控制柜测试装置模拟电机模型进行测试。在非测 试状态时, 将电机模型存放在信号入出硬件上 ; 测试时, 在信号入出硬件上运行电机模型。 电机模型存放在信号入出硬件中, 通常是存放在与 DSP( 数字信号处理, Digital Signal Processing) 芯片相关的存储空间中, 例如 DSP 芯片内的 RAM( 随机存储器, Random Access Memory) 区或者 DSP 芯片外的 Flash 存储器 ( 掉电非易失性存储器 ) 区。一般而言, DSP 芯 片内的 RAM 区只有 64K, 而一个电机模型所需的存储空间约 30K, 因此不能满足存储多种电 机模型的要求, 此外 DSP 芯片的 RAM 区为易失性存储空间, 即掉电后 RAM 区的数据会丢失, 这样就不利于现场用户的应用。DSP 芯片外的 Flash 存储区大小一般为 512K, 虽然从一定 程度上能满足多个电机模型存储的空间要求, 但是若将全部的电机模型都写入 Flash 区, 则对于后期测试装置的维护和功能扩展带来不便。例如某机务段测试台用户只需要 5 种型 号的机车电子柜电机模型, 而另外的机务段测试台用户则需要 8 种型号的机车电子柜电机 模型, 若 Flash 区烧写不同的电机模型库, 则不利于统一的维护。即使是同一测试台用户, 若涉及到功能扩展, 则必须由专业人员利用专业的工具来进行 Flash 程序的改写, 工作效 率低, 费用成本高。
发明内容
本申请的目的是提供一种电力机车控制柜的测试方法和装置, 既能够满足存储多 种电机模型的需求, 又有利于测试装置的维护和功能扩展。
技术方案如下 :
一种电力机车控制柜的测试方法, 所述方法使用电力机车控制柜测试装置对所述 电力机车控制柜进行测试, 所述电力机车控制柜测试装置包括用户终端和信号入出硬件模 块, 所述用户终端中存储有电机模型 ;
所述方法包括 :
S1, 建立所述用户终端与所述信号入出硬件模块的数据线连接 ;
S2, 所述用户终端选择进行测试的电力机车控制柜的型号, 提取与所述电力机车 控制柜的型号对应的电机模型作为待测试的电机模型 ;
S3, 将所述待测试的电机模型传输至所述信号入出硬件模块 ;
S4, 所述信号入出硬件模块接收所述待测试的电机模型, 下载所述待测试的电机 模型 ;S5, 所述信号入出硬件模块加载并运行所述待测试的电机模型进行测试。 优选的, 在步骤 S2 之后、 步骤 S3 之前, 所述方法进一步包括 : A, 所述用户终端向所述信号入出硬件模块发送查询请求 ; B、 所述信号入出硬件模块接收到所述查询请求后, 向所述用户终端发送反馈信息; C, 所述用户终端根据所述反馈信息, 判断所述信号入出硬件模块是否存在与所述 待测试的电机模型型号一致的电机模型 ;
D, 如果存在, 则进入步骤 S5 ; 如果不存在, 则进入步骤 S3。
优选的, 所述步骤 B 具体包括 :
所述信号入出硬件模块接收所述查询请求, 查询是否有电机模型存在 ;
如果有电机模型存在, 所述信号入出硬件模块向所述用户终端发送包含有所述电 机模型的型号的反馈信息 ;
所述步骤 C 具体包括 :
所述用户终端根据所述反馈信息, 将所述反馈信息中的电机模型的型号与所述待 测试的电机模型的型号分别进行比较, 判断所述信号入出硬件模块是否存在与待测试的电 机模型型号一致的电机模型 ;
所述步骤 D 具体包括 :
如果存在, 所述用户终端向所述信号入出硬件模块发送所述待测试的电机模型型 号, 进入步骤 S5 ; 如果不存在, 进入步骤 S3。
优选的, 所述步骤 A 具体包括 :
所述用户终端向所述信号入出硬件模块发送查询请求, 所述查询请求包含所述待 测试的电机模型的型号信息 ;
所述步骤 B 具体包括 :
所述信号入出硬件模块接收到所述查询请求后, 查询是否存在与所述待测试的电 机模型型号一致的电机模型 ;
所述信号入出硬件模块将含有查询结果的反馈信息发送至所述用户终端。
优选的, 所述步骤 S4 具体包括 :
所述信号入出硬件模块接收所述待测试的电机模型 ;
将接收的所述待测试的电机模型存储在临时存储区中 ;
将所述临时存储区中的电机模型下载至固定存储区中。
优选的, 所述方法进一步包括 :
所述信号入出硬件模块检测所述临时存储区中是否有更新的待测试的电机模型, 如果有, 则将所述更新的待测试的电机模型存储到所述固定存储区中相应的空间中, 不覆 盖固定存储区中原有的电机模型 ;
所述步骤 S5 具体为 :
所述信号入出硬件模块根据用户终端的运行指令加载并运行当前待测试的电机 模型进行测试, 所述运行指令包含有当前待测试的电机模型的型号。
优选的, 所述方法进一步包括 :
测试完毕后, 删除所述固定存储区中的电机模型。
优选的, 所述方法进一步包括 :
所述信号入出硬件模块检测所述临时存储区中是否有更新的待测试的电机模型, 如果有, 则将所述更新的待测试的电机模型存储到所述固定存储区中, 将其覆盖所述固定 存储区中原有的电机模型。
优选的, 在步骤 S3 之前, 进一步包括 :
所述用户终端向所述信号入出硬件模块发送电机模型下载指令 ;
所述信号入出硬件模块接收到所述下载指令后, 返回确认指令至所述用户终端 ;
所述用户终端接收到所述确认指令后, 进入步骤 S3。
本申请还公开了一种电力机车控制柜的测试装置, 所述装置包括用户终端和信号 入出硬件模块 ;
所述用户终端包括 :
电机模型库, 用于存储电机模型 ;
建立连接模块, 用于建立所述用户终端与所述信号入出硬件模块的数据线连接 ;
提取模块, 用于选择进行测试的电力机车控制柜的型号, 提取与所述电力机车控 制柜的型号对应的电机模型作为待测试的电机模型 ; 传输模块, 用于将所述待测试的电机模型传输至所述信号入出硬件模块 ;
所述信号入出硬件模块包括 :
下载模块, 用于接收所述待测试的电机模型, 下载所述待测试的电机模型 ;
运行模块, 用于加载并运行所述待测试的电机模型进行测试。
优选的, 所述用户终端进一步包括 :
请求模块, 用于向所述信号入出硬件模块发送查询请求 ;
判断模块, 用于根据所述反馈信息, 判断所述信号入出硬件模块是否存在与所述 待测试的电机模型型号一致的电机模型 ;
选择模块, 用于如果存在, 则进入运行模块 ; 如果不存在, 则进入传输模块。
所述信号入出硬件模块进一步包括 :
反馈模块, 用于接收到所述查询请求后, 向所述用户终端发送反馈信息。
优选的, 所述下载模块进一步包括 :
接收单元, 用于接收所述待测试的电机模型 ;
临时存储单元, 用于临时存储接收的所述待测试的电机模型 ;
固定存储单元, 用于将所述临时存储单元中的电机模型下载并保存。
优选的, 所述装置进一步包括 :
第一更新模块, 用于检测所述临时存储单元中是否有更新的待测试的电机模型, 如果有, 则将从所述更新的电机模型存储到所述固定存储单元中相应的空间中, 不覆盖固 定存储单元中原有的电机模型 ;
所述运行模块具体为 : 根据用户终端的运行指令加载并运行当前待测试的电机模 型进行测试, 所述运行指令包含有当前待测试的电机模型的型号。
优选的, 所述装置进一步包括 :
删除模块, 用于测试完毕后, 删除所述固定存储单元中的电机模型。
优选的, 所述装置进一步包括 :
第二更新模块, 用于检测所述临时存储单元中是否有更新的待测试的电机模型, 如果有, 则将所述更新的待测试的电机模型存储到固定存储单元中, 将其覆盖所述固定存 储单元中原有的电机模型。
与现有技术相比, 本申请具有如下有益效果 : 本申请提供的技术方案在非测试状 态时将电机模型存放在用户终端、 测试时将所需的电机模型通过数据线动态下载到信号入 出硬件模块中进行加载、 测试, 这种方法充分利用了用户终端存储空间大的特点, 可满足存 储多种电机模型的要求 ; 另一方面, 由于电机模型的选择权在用户终端, 信号入出硬件模块 在设计阶段可不考虑电机模型的选择, 因此即便是针对不同用户的电力机车控制柜测试装 置, 信号入出硬件模块可统一设计, 不同的测试装置硬件模块之间具有互换性, 这样便于测 试装置后期硬件模块的维护。 再一方面, 由于电机模型存放在用户终端, 对于不同的用户可 以灵活配置电机模型的数量和类型, 便于后期测试装置的维护和升级。
另一方面, 在测试时, 将所需的电机模型通过数据线动态下载到信号入出硬件模 块中, 可以满足测试不同电机模型的需求 ; 而电机模型运行在在信号入出硬件模块中, 充分 利用了硬件运算速度快、 实时响应快的优点, 满足了测试状态时电机模型运算的实时性要 求。 从信号入出硬件模块采集相关信号到电机模型运算完成并将测试结果通过信号入出硬 件模块输出相关信号, 这一周期可短至 1 毫秒, 实时响应速率大大提高。 附图说明
图 1 为本申请电力机车控制柜的测试方法第一实施例流程图 ; 图 2 为本申请电力机车控制柜的测试方法第二实施例流程图 ; 图 3 为本申请电力机车控制柜的测试方法第三实施例流程图 ; 图 4 为本申请电力机车控制柜的测试方法第四实施例流程图 ; 图 5 为本申请实施例电力机车控制柜测试装置示意图。具体实施方式
本申请提供了一种电力机车控制柜的测试方法和装置, 既能够满足存储多种电机 模型的需求, 又有利于测试装置的维护和功能扩展。
为了使本申请的目的、 特征、 优点更加明显易懂, 下面将结合本申请实施例中的附 图, 对本申请实施例中的技术方案进行清楚、 完整地描述。
参见图 1, 为本申请电力机车控制柜的测试方法第一实施例流程图。
本申请提供了一种电力机车控制柜的测试方法, 所述方法使用电力机车控制柜测 试装置对所述电力机车控制柜进行测试, 所述电力机车控制柜测试装置包括用户终端和信 号入出硬件模块, 所述用户终端中存储有电机模型。
所述方法包括 :
步骤 S101, 建立所述用户终端与所述信号入出硬件模块的数据线连接。
步骤 S102, 所述用户终端选择进行测试的电力机车控制柜的型号, 提取与所述电 力机车控制柜的型号对应的电机模型作为待测试的电机模型。
步骤 S103, 将所述待测试的电机模型传输至所述信号入出硬件模块。
步骤 S104, 所述信号入出硬件模块接收所述待测试的电机模型, 下载所述待测试的电机模型。
步骤 S105, 所述信号入出硬件模块加载并运行所述待测试的电机模型进行测试。
在本申请提供的实施例中, 在非测试状态时, 电机模型存放在用户终端中。 测试状 态时, 将所需的电机模型通过数据线动态下载到信号入出硬件模块上进行加载、 测试。 这种 方法充分利用了用户终端存储空间大的特点、 可满足存储多种电机模型的要求 ; 另一方面, 由于电机模型的选择权在用户终端, 信号入出硬件模块在设计阶段可不考虑电机模型的选 择, 因此即便是针对不同用户的电力机车控制柜测试装置, 信号入出硬件模块可统一设计, 不同的测试装置硬件模块之间具有互换性, 这样便于测试装置后期硬件模块的维护。再一 方面, 由于电机模型存放在用户终端, 对于不同的用户可以灵活配置电机模型的数量和类 型, 便于后期测试装置的维护和升级。
在测试过程中, 信号入出硬件模块可能会存有前一次测试下载的电机模型, 这时, 可以向信号入出硬件模块发送一个查询请求, 来判断信号入出硬件模块是否存在与待测试 电机模型型号一致的电机模型, 以决定是否传输所述待测试的电机模型。
在本申请提供的第二实施例中, 在步骤 S102 之后、 步骤 S103 之前, 进一步包括用 户终端向信号入出硬件模块发送查询请求, 以判断信号入出硬件模块是否存在与待测试电 机模型型号一致的电机模型的步骤, 如果存在, 那么用户终端不向信号入出硬件模块传输 电机模型, 由信号入出硬件模块运行与待测试的电机模型型号一致的电机模型进行测试, 如果不存在, 那么用户终端即向信号入出硬件模块传输待测试的电机模型。
参见图 2, 是本申请电力机车控制柜的测试方法第二实施例流程图。
步骤 S201, 建立所述用户终端与所述信号入出硬件模块的数据线连接。
步骤 S202, 所述用户终端选择进行测试的电力机车控制柜的型号, 提取与所述电 力机车控制柜的型号对应的电机模型作为待测试的电机模型。
步骤 S203, 所述用户终端向所述信号入出硬件模块发送查询请求。
步骤 S204, 所述信号入出硬件模块接收到所述查询请求后, 向所述用户终端发送 反馈信息。
步骤 S205, 所述用户终端根据所述反馈信息, 判断所述信号入出硬件模块是否存 在与所述待测试的电机模型型号一致的电机模型。
步骤 S206, 如果存在, 则进入步骤 S209 ; 如果不存在, 则进入步骤 S207。
步骤 S207, 将所述待测试的电机模型传输至所述信号入出硬件模块。
步骤 S208, 所述信号入出硬件模块接收所述待测试的电机模型, 下载所述待测试 的电机模型。
步骤 S209, 所述信号入出硬件模块加载并运行所述待测试的电机模型进行测试。
其中, 根据步骤 203 中用户终端发送的查询请求以及步骤 204 中信号入出硬件模 块发送的反馈信息的不同, 本申请提供的方法又可以有不同的实施方式。
在本申请提供的第三实施例中, 在信号入出硬件模块向用户终端发送的反馈信息 中, 含有信号入出硬件模块存在的所有电机模型的型号, 由用户终端来判断是否存在与待 测试电机模型型号一致的电机模型。
参见图 3, 为本申请电力机车控制柜的测试方法第三实施例流程图。
下面结合附图对本申请第三实施例进行详细的说明。步骤 S301, 建立所述用户终端与所述信号入出硬件模块的数据线连接。
本申请实施例提供的测试方法使用电力机车控制柜测试装置对电力机车控制柜 进行测试。电力机车控制柜测试装置由用户终端和信号入出硬件模块组成, 用户终端与信 号入出硬件模块的数据和指令等通过数据线进行交互。具体的, 所述数据线可以为以太网 线或串口线。
在步骤 S301 中, 建立所述用户终端与所述信号入出硬件模块的数据线连接。优选 的, 当二者建立连接后, 则由用户终端提示用户连接正常, 可以进行下一步的操作。如果连 接不正常, 用户终端会提示用户连接出错, 不能进行电机模型的传输。
步骤 S302, 所述用户终端选择进行测试的电力机车控制柜的型号, 提取与所述电 力机车控制柜的型号对应的电机模型作为待测试的电机模型。
电力机车控制柜的控制对象是牵引电机, 因此, 当对其测试时, 最简单的方法是将 电力机车控制柜直接与牵引电机相连, 但这种方式的缺点是测试成本较大。 因此, 现有技术 中, 通常利用电力机车控制柜测试装置模拟电机模型, 将电力机车控制柜测试装置与电力 机车控制柜连接, 这样就可以实现对电力机车控制柜的测试。
在本申请实施例中, 在非测试状态时, 电机模型存放在用户终端。具体的, 可以设 置一个电机模型库存放多种电机模型。用户通过用户终端输入各项指令进行操作。当电力 机车控制柜测试装置启动后, 用户通过用户终端中的应用软件选择需要进行测试的电力机 车控制柜的型号。 当用户通过用户终端选择需要进行测试的电力机车控制柜的型号后, 由用户终端 调取与所述电力机车控制柜的型号对应的电机模型。
优选的, 可以设置一个电机模型库存放多种电机模型。电机模型库可以是针对不 同型号的电力机车控制柜而编写的电机模型运算程序的集合。 电机模型库存有多个电机模 型, 每一型号的电力机车控制柜均有对应的电机模型。电机模型库中电机模型的数量和类 型可以由用户终端进行选择。根据测试的需要以及用户终端存储空间的大小, 选择电机模 型库中存放的电机模型的类型和数量。电机模型库可以根据实际需要定期进行更新。当需 要测试新的电力机车控制柜时, 可以为其编写对应的电机模型运算程序, 并将其存入电机 模型库中。
本申请实施例提供的技术方案中, 是利用 CCS( 代码设计套件, Code Composer Studio) 软件来编写各种电力机车控制柜对应的电机模型程序的, 并将电机模型程序编译 成 *.out 文件。 由于 *.out 文件只能在 CCS 编译环境中通过相应的烧写工具烧写到 DSP 中, 而本申请实施例提供的方法是将电机模型程序存放在用户终端中。因此需要预先将 *.out 文件通过文件转换工具 hex55.exe 转换成 16 进制的且能被 DSP Boot loader 程序所能识 别的引导表数据流格式文件, 即 *.hex 文件。这样, 由多个代表不同工况下的电机状态对应 的电机模型构成电机模型库。
当用户选定需要进行测试的电力机车控制柜的型号后, 由用户终端中的应用软件 从电机模型库中调取与所述电力机车控制柜的型号对应的电机模型的 *.hex 文件。
步骤 S303, 所述用户终端向所述信号入出硬件模块发送查询请求。
在测试过程中, 信号入出硬件模块可能会存有前一次测试下载的电机模型, 这时, 可以向信号入出硬件模块发送一个查询请求, 来判断信号入出硬件模块是否存在与待测试
电机模型型号一致的电机模型。
具体的, 所述用户终端可以向所述信号入出硬件模块发送查询请求, 请求信号入 出硬件模块查询是否有电机模型存在。
步骤 S304, 所述信号入出硬件模块接收所述查询请求, 查询是否有电机模型存在 ; 如果有电机模型存在, 所述信号入出硬件模块向所述用户终端发送包含有所述电机模型的 型号的反馈信息。
在本申请提供的实施例中, 电机模型是存放在用户终端中的。 在进行首次测试后, 信号入出硬件模块可能会存有前一次测试下载得到的电机模型, 这时, 可以向信号入出硬 件模块发送一个查询请求, 以判断信号入出硬件模块是否存在与待测试的电机模型型号一 致的电机模型, 以确定是否需要传输待测试的电机模型。 这时, 所述信号入出硬件模块接收 到用户终端发送的查询请求后, 即查询是否有电机模型存在。 如果有电机模型存在, 信号入 出硬件模块就将存在的所有电机模型的型号信息反馈给用户终端。
步骤 S305, 所述用户终端根据所述反馈信息, 将所述反馈信息中的电机模型的型 号与所述待测试的电机模型的型号分别进行比较, 判断所述信号入出硬件模块是否存在与 待测试的电机模型的型号一致的电机模型。 步骤 S306, 如果存在, 所述用户终端向所述信号入出硬件模块发送所述待测试的 电机模型型号, 进入步骤 S310 ; 如果不存在, 进入步骤 S307。
如果经过判断, 信号入出硬件模块存在与待测试的电机模型型号一致的电机模 型, 那么用户终端即向信号入出硬件模块发送待测试的电机模型的型号, 以指示信号入出 硬件模块加载所述待测试的电机模型进行测试, 即进入步骤 S310。
如果经过判断, 信号入出硬件模块不存在与待测试的电机模型型号一致的电机模 型, 那么用户终端即向信号入出硬件模块传输待测试的电机模型, 即进入步骤 S307。
优选的, 在进入步骤 S307 之前, 所述用户终端向所述信号入出硬件模块发送电机 模型下载指令 ; 所述信号入出硬件模块接收到所述下载指令后, 返回确认指令至所述用户 终端 ; 所述用户终端接收到所述确认指令后, 进入步骤 S307。这里是为了确定用户终端与 信号入出硬件模块的传输通道畅通, 以保证数据传输安全。
步骤 S307, 所述用户终端将所述待测试的电机模型传输至所述信号入出硬件模 块。
这里是通过数据线进行传输的, 所述数据线可以是以太网线。用户终端与信号入 出硬件模块均可以设有以太网接口, 二者之间的数据和指令均通过以太网线进行交互。当 用户终端的应用软件调取到需要测试的电机模型的 *.hex 文件时, 用户终端则通过以太网 线, 利用以太网传输协议, 将电机模型的 *.hex 文件分段传输至信号入出硬件模块。具体 的, 是传输到信号入出硬件模块主控板的 ARM(Advanced RISC Machine) 芯片中。
这里的数据线也可以是串口线或者其他数据线, 用于用户终端和信号入出硬件模 块之间数据和指令的传输。
步骤 S308, 所述信号入出硬件模块监测所述用户终端是否有电机模型下载指令, 如果有, 则准备接收所述待测试的电机模型。
步骤 S309, 所述信号入出硬件模块接收所述待测试的电机模型, 下载所述待测试 的电机模型, 具体可以包括 :
步骤 S309A, 所述信号入出硬件模块接收所述待测试的电机模型。
具体的, 是由信号入出硬件模块的 ARM 芯片接收待测试的电机模型。
本申请实施例提供的信号入出硬件模块包括一个主控板。主控板上有 ARM 芯片、 FPGA(Field-programmable Gate Array, 现场可编程门阵列 ) 芯片、 Flash 存储器 ( 掉电非 易失性存储器 )、 DSP(Digital Signal Processing, 数字信号处理 ) 芯片等。
优选的, 所述电机模型经过主控板的网络数据转换模块将用户终端传输的数据转 换成 ARM 芯片可以识别的格式。这时, 由 ARM 芯片接收所述电机模型。
步骤 S309B, 将接收的所述待测试的电机模型存储在临时存储区中。
具体的, 是由所述 ARM 芯片将所述电机模型写入所述临时存储区 FPGA 芯片的缓存 中。
所述 FPGA 芯片的缓存为临时存储区, 主要用于临时存储由用户终端传输来的数 据。所述 FPGA 芯片用于完成 ARM 芯片与 DSP 芯片的数据交换工作。当有新的电机模型传 输过来时, ARM 芯片将接收的电机模型先写入所述 FPGA 芯片的缓存中。
步骤 S309C, 将所述临时存储区中的电机模型下载至固定存储区中。
前面提到, 信号入出硬件模块包括一个主控板, 所述主控板包括一个 DSP 芯片。 DSP 芯片的运行程序分为引导程序、 底层程序和应用程序。其中, 引导程序存储在 DSP 芯片 内置的 ROM 中, 底层程序和应用程序存放在外部扩展的存储区域即 Flash 存储器中。引导 程序的功能是当 DSP 芯片上电启动后, 将底层程序从 Flash 存储器中加载到芯片的 RAM 区 并运行, 这个过程称为程序一次加载。底层程序的一个功能是调用应用程序运行以及检测 并更新存储于 Flash 存储器中的应用程序, 底层程序调用应用程序的过程称为程序二次加 载。应用程序的功能是运行电机模型程序。
当电力机车控制柜测试装置通电运行后, DSP 芯片的引导程序就将存储在 Flash 存储器中的底层程序加载到 DSP 芯片的 RAM 区, 并运行所述底层程序。
底层程序的一个功能是检测临时存储区 FPGA 芯片的缓存中是否有新的数据, 如 果有, 则将临时存储区 FPGA 芯片的缓存中的数据写入固定存储区 Flash 存储器中。
由信号入出硬件模块的 ARM 芯片接收的电机模型是存放在临时存储区 FPGA 芯片 的缓存中的。底层程序加载并运行后, 即检测 FPGA 芯片的缓存中是否由数据更新, 如果有, 则将更新的数据即电机模型写入固定存储区 Flash 存储器中, 完成电机模型的下载。
优选的, 信号入出硬件模块将电机模型下载完毕后, 向用户终端发送下载完毕信 息。
步骤 S310, 所述信号入出硬件模块加载并运行所述待测试的电机模型进行测试。
当把电机模型下载到信号入出硬件模块的固定存储区 Flash 存储器中, 即可加载 所述电机模型进行测试了。
具体的, 是由 DSP 芯片的底层程序检测所述固定存储器 Flash 存储器中是否有所 述电机模型对应的应用程序, 如果有, 加载所述电机模型。
如前所述, 底层程序的功能之一是检测并运行应用程序。 Flash 存储器中存放有多 种应用程序, 与运行电机模型程序相关的应用程序称为电机模型应用程序。当将底层程序 加载到 DSP 芯片的 RAM 区并运行后, 即开始检测 Flash 存储器中是否有电机模型对应的应 用程序即电机模型应用程序。如果有, 则将存储在 Flash 存储器中的应用程序加载到 DSP芯片的 RAM 区。
将存储在 Flash 存储器中的应用程序加载到芯片的 RAM 区后, 运行所述应用程序, 此时电机模型便处于运行状态。这时, 可以利用电机模型进行电力机车控制柜的测试。
进行测试时, 由主控板中的 AD 芯片采集测试需要的模拟量, 例如电压、 电流等, 并 将上述模拟量转换为数字量, 通过 FPGA 芯片将转换后的数字量信息传输到 DSP 芯片, 供所 述电机模型运行时使用。数字量信号入出板根据主控板的指令采集相关的信号, 供所述电 机模型运行时使用。
步骤 S311, 所述信号入出硬件模块将测试数据通过数据线传输至所述用户终端进 行显示。
测试时由信号入出硬件模块采集的数据、 测试获得的数据以及测试结果是通过数 据线传输到用户终端进行显示的。在测试过程中, 用户可以通过应用软件浏览测试过程中 的各项参数指标等。
在本申请提供的第四实施例中, 与第二实施例不同的是, 用户终端向信号入出硬 件模块发送的查询请求包含有所述待测试的电机模型的型号信息, 由信号入出硬件模块查 询是否存在与所述待测试的电机模型型号一致的电机模型, 并将含有查询结果的反馈信息 发送至所述用户终端。
参见图 4, 为本申请电力机车控制柜的测试方法第四实施例流程图。
步骤 S401, 建立所述用户终端与所述信号入出硬件模块的数据线连接。
步骤 S402, 所述用户终端选择进行测试的电力机车控制柜的型号, 提取与所述电 力机车控制柜的型号对应的电机模型作为待测试的电机模型。
步骤 S403, 所述用户终端向所述信号入出硬件模块发送查询请求, 所述查询请求 包含所述待测试的电机模型的型号信息。
与第二实施例不同的是, 这里的查询请求包含了所述待测试的电机模型的型号信 息。
步骤 S404, 所述信号入出硬件模块接收到所述查询请求后, 查询是否存在与所述 待测试的电机模型型号一致的电机模型 ; 所述信号入出硬件模块将含有查询结果的反馈信 息发送至所述用户终端。
具体的, 所述信号入出硬件模块查询是否有电机模型存在, 如果有电机模型存在, 就将存在的电机模型的型号与待测试的电机模型的型号进行比较, 查询是否存在与所述待 测试的电机模型型号一致的电机模型。查询完毕后, 所述信号入出硬件模块将含有查询结 果的反馈信息发送至所述用户终端。
步骤 S405, 所述用户终端即根据所述反馈信息, 判断所述信号入出硬件模块是否 存在与待测试的电机模型一致的电机模型。
步骤 S406, 如果存在, 则进入步骤 S410 ; 如果不存在, 则进入步骤 S407。
如果信号入出硬件模块存在与待测试的电机模型型号一致的电机模型, 由于用户 终端向信号入出硬件模块发送的查询请求中包含了待测试的电机模型的型号, 这时, 信号 入出硬件模块即可根据查询请求中的信息, 运行与待测试电机模型型号一致的电机模型进 行测试, 即进入步骤 S410。
如果不存在, 进入步骤 S407。步骤 S407, 所述用户终端将所述待测试的电机模型传输至所述信号入出硬件模块。 步骤 S408, 所述信号入出硬件模块监测所述用户终端是否有电机模型下载指令, 如果有, 则准备接收所述待测试的电机模型。
步骤 S409, 所述信号入出硬件模块接收所述待测试的电机模型, 下载所述待测试 的电机模型。
步骤 S410, 所述信号入出硬件模块加载并运行所述待测试的电机模型进行测试。
步骤 S411, 所述信号入出硬件模块将测试数据通过数据线传输至所述用户终端进 行显示。
当电力机车控制柜测试装置的用户完成某一种型号的电力机车控制柜测试后, 通 过用户终端的应用软件可以选择另外一种电力机车控制柜进行测试时, 相应的, 重复上述 对相应的电机模型 *.hex 文件的下载过程即可完成对新型号的电力机车控制柜的测试。
优选的, 所述信号入出硬件模块检测所述临时存储区中是否有更新的待测试的电 机模型, 如果有, 则将所述更新的待测试的电机模型存储到所述固定存储区中相应的空间 中, 不覆盖固定存储区中原有的电机模型 ;
这时, 所述信号入出硬件模块根据用户终端的运行指令加载并运行当前待测试的 电机模型进行测试, 所述运行指令包含有当前待测试的电机模型的型号。
在实际操作中, 可以一次传输多个待测试的电机模型。 这时, 待测试的电机模型先 存放在信号入出硬件模块的临时存储区中, 即 FPGA 芯片的缓存中。所述信号入出硬件模块 检测临时存储区 FPGA 芯片的缓存是否有需要更新的电机模型, 若无, 则保持原有状态 ; 如 果有, 则将从 FPGA 芯片的缓存中得到的电机模型存储到固定存储区 Flash 存储器中的相应 空间。 这时, 更新的电机模型并不覆盖原有的电机模型, 更新的电机模型可以暂存在信号入 出硬件模块中。这样, 即可以完成一次性的将待测试的电机模型均下载至信号入出硬件模 块中。
这时, 当需要进行电机模型的运行测试时, 用户终端向所述信号入出硬件模块发 送运行指令, 所述运行指令包含有当前待测试的电机模型的型号。所述信号入出硬件模块 根据用户终端的运行指令, 加载并运行相应的电机模型作为当前待测试的电机模型, 进行 测试。
当整个测试完成后, 删除所述固定存储区中的电机模型。
优选的, 为了节省固定存储区 Flash 存储器的空间, 在本申请的另一实施例中, 所 述信号入出硬件模块检测所述临时存储区中是否有更新的待测试的电机模型, 如果有, 则 将所述更新的待测试的电机模型存储到所述固定存储区中, 将其覆盖所述固定存储区中原 有的电机模型。
这里, 具体的, 是将临时存储区 FPGA 芯片的缓存中得到的电机模型存储到固定存 储区 Flash 存储器中时, 将其覆盖固定存储区 Flash 存储器中原有的电机模型。即在存储 新的电机模型至固定存储区 Flash 存储器时, 即覆盖 Flash 存储器中原有的电机模型, 即可 完成电机模型的更新。这样可以节省 Flash 存储器的空间。
在本申请提供的实施例中, 测试过程中, 测试时所需的数据参数是通过信号入出 硬件模块采集的, 测试时进行的运算也是在信号入出硬件模块上完成的, 充分利用了硬件
运算速度快、 实时响应速度快的优点, 对于一些特别的模拟信号, 例如 50HZ 的网压信号, 或 者干扰信号, 都能很好的进行模拟。另外, 本申请提供的方法通过底层程序调用应用程序, 极大地提高运行的可靠性、 可维护性。实际测试表明, 采用这种方法, 从信号入出硬件模块 采集到相关信号到电机模型运算完成并将与运算结果通过信号入出硬件模块输出相关信 号, 这一周期可达到 1 毫秒, 实时响应速率比原有技术提高了 1-2 个数量级。
在本申请提供的方法中, 对不同电机模型应用的选择权由用户终端的应用程序决 定, 信号入出硬件模块只负责数据的传输、 运算, 因此, 信号入出硬件模块部分无论从硬件 设计上还是软件设计上都能实现统一化, 这样有利于测试装置后期的维护和升级。
本申请还提供了一种电力机车控制柜测试装置。
参见图 5, 为本申请实施例电力机车控制柜测试装置示意图。
所述装置包括用户终端 100 和信号入出硬件模块 200。
所述用户终端 100 包括 :
电机模型库 101, 用于存储电机模型。
建立连接模块 102, 用于建立所述用户终端 100 与所述信号入出硬件模块 200 的数 据线连接。 提取模块 103, 用于选择进行测试的电力机车控制柜的型号, 提取与所述电力机车 控制柜的型号对应的电机模型作为待测试的电机模型。
传输模块 104, 用于将所述待测试的电机模型传输至所述信号入出硬件模块 200。
所述信号入出硬件模块 200 包括 :
下载模块 201, 用于接收所述待测试的电机模型, 下载所述待测试的电机模型。
运行模块 202, 用于加载并运行所述待测试的电机模型进行测试。
在本申请提供的实施例中, 所述用户终端 100 通过数据线与信号入出硬件模块 200 进行通信。
具体的, 用户终端 100 可以为工控机或者便携式笔记本电脑。使用者可以通过用 户终端 100 输入各项指令, 并且通过用户终端 100 查看浏览测试过程中的各项参数指标等。
优选的, 所述用户终端 100 进一步包括 :
请求模块, 用于向所述信号入出硬件 200 模块发送查询请求 ;
判断模块, 用于根据信号入出硬件 200 模块发送的反馈信息, 判断所述信号入出 硬件模块 200 是否存在与待测试的电机模型一致的电机模型 ;
选择模块, 用于如果存在, 则进入运行模块 202 ; 如果不存在, 则进入传输模块 104。
所述信号入出硬件模块进一步包括 :
反馈模块, 用于根据所述用户终端发送的查询请求, 向所述用户终端发送反馈信 息。
优选的, 所述请求模块具体可以为 :
第一请求模块, 用于向所述信号入出硬件模块发送查询请求, 请求信号入出硬件 模块查询是否有电机模型存在。
所述反馈模块具体可以为 :
第一反馈模块, 用于接收所述查询请求, 查询是否有电机模型存在 ; 如果有电机模
型存在, 所述信号入出硬件模块向所述用户终端发送包含有所述电机模型的型号的反馈信 息。
第一判断模块, 用于所述用户终端根据所述反馈信息, 将所述反馈信息中的电机 模型的型号与所述待测试的电机模型的型号分别进行比较, 判断所述信号入出硬件模块是 否存在与待测试的电机模型一致的电机模型。
第一选择模块, 用于如果存在, 所述用户终端向所述信号入出硬件模块发送所述 待测试的电机模型型号, 进入运行模块 ; 如果不存在, 进入传输模块。
优选的, 所述请求模块具体可以为 :
第二请求模块, 用于所述用户终端向所述信号入出硬件模块发送查询请求, 所述 查询请求包含所述待测试的电机模型的型号信息。
所述反馈模块具体可以为 :
第二反馈模块, 用于所述信号入出硬件模块查询是否存在与所述待测试的电机模 型型号一致的电机模型 ; 所述信号入出硬件模块将含有查询结果的反馈信息发送至所述用 户终端。
优选的, 所述下载单元 201 进一步包括 : 接收单元, 用于接收所述电机模型。
所述接收单元的功能主要由 LAN 芯片和 ARM 芯片完成。其中 LAN 芯片为数据转换 模块, 用于将用户终端 100 传输的数据转换成 ARM 芯片可以识别的格式。本申请实施例提 供的信号入出硬件模块包括一个主控板。主控板上有 ARM 芯片、 FPGA 芯片、 Flash 存储器、 DSP 芯片等。 其中, ARM 芯片主要用于与所述用户终端 100 进行通信, 接收所述用户终端 100 发送的给定运行条件的数据和电机模型数据。另一方面, ARM 芯片还可以用于将信号入出 硬件模块 200 采集的数据反馈到用户终端 100 进行显示等。
临时存储单元, 用于临时存储接收的所述待测试的电机模型。
具体的, 临时存储单元可以为 FPGA 芯片。所述 FPGA 芯片用于完成所述 ARM 芯片 与所述 DSP 芯片的数据交换。
固定存储单元, 用于将所述临时存储单元中的电机模型下载并保存。
具体的, 固定存储单元可以为 Flash 存储器。
优选的, 所述运行模块具体可以包括 :
加载单元, 用于检测所述固定存储区 Flash 存储器中是否有所述待测试电机模型 对应的应用程序, 如果有, 加载所述电机模型。
所述加载单元的功能, 主要由 DSP 芯片完成。所述 DSP 芯片用于通过引导程序调 用存放在所述 Flash 存储器中的底层程序, 所述底层程序用于调用存放在所述 Flash 存储 器中的所述电机模型对应的应用程序。
具体的, DSP 芯片中的底层程序检测所述 Flash 存储器中是否有所述电机模型对 应的应用程序, 如果有, 加载所述电机模型。
优选的, 所述装置进一步包括 :
第一更新模块, 用于检测所述临时存储单元中是否有更新的待测试的电机模型, 如果有, 则将从所述更新的电机模型存储到所述固定存储单元中相应的空间中, 不覆盖固 定存储单元中原有的电机模型。 这时, 更新的电机模型并不覆盖原有的电机模型, 更新的电
机模型可以暂存在信号入出硬件模块中。
删除模块, 用于删除固定存储区中的电机模型。
在本申请另一实施例中, 所述装置还可以进一步包括 :
第二更新模块, 用于检测所述临时存储单元中是否有更新的待测试的电机模型, 如果有, 则将所述更新的待测试的电机模型存储到固定存储单元中, 将其覆盖所述固定存 储单元中原有的电机模型。
本申请还提供的电力机车控制柜测试装置还可以进一步包括功能板集、 AMS 总线、 对外信号接口等。
功能板集是信号入出硬件模块中除主控板外的其他硬件资源, 如模拟量信号输出 板、 数字量信号入出板等, 此部分根据主控板的指令采集或发送相关的信号资源。具体的, 模拟量信号输出板用于输出模拟量信号至电力机车控制柜, 完成测试装置与电力机车控制 柜的交互。数字量信号入出板负责数字量信号的输入与输出。
对外信号接口则是电机机车控制柜测试装置采集或输出信号的物理端口, 信号入 出硬件模块通过对外信号接口采集或输出相应的信号。
AMS 总线是主控板与功能板集之间的桥梁, 用来在主控板与功能板集之间传输指 令和数据。
以上所述仅为本申请所述电机模型动态应用方法和电力机车控制柜测试装置的 优选实施方式, 并不构成对本申请保护范围的限定。任何在本申请的精神和原则之内所作 的任何修改、 等同替换和改进等, 均应包含在本申请的权利要求保护范围之内。 以上所述仅 是本申请的具体实施方式, 应当指出, 对于本技术领域的普通技术人员来说, 在不脱离本申 请原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应视为本申请保护范围。