1、QICHEYINGYONG汽车应用HEAVY TRUCK重型汽车31Visul BasicVisul Basic在汽车在汽车 COCCOC 备案中的应用备案中的应用借助企业级 COC 证书打印系统步借助企业级 COC 证书打印系统步骤(1)和(3)已实现高度自动化,步骤骤(1)和(3)已实现高度自动化,步骤(2)靠手动完成,所产生具体问题为:(2)靠手动完成,所产生具体问题为:(1)商用车配置多样庞杂,催生出大(1)商用车配置多样庞杂,催生出大量 COC 证书需求;(2)COC 证书涉量 COC 证书需求;(2)COC 证书涉及车辆外廓尺寸、发动机、变速器等及车辆外廓尺寸、发动机、变速器等60
2、 余项参数,在线备案需要通过人工60 余项参数,在线备案需要通过人工遴选、手动查询、填写的方式对项目逐遴选、手动查询、填写的方式对项目逐一进行填报,导致 COC 证书备案效率一进行填报,导致 COC 证书备案效率低;(3)人工操作难免出现纰漏。低;(3)人工操作难免出现纰漏。企业级 COC 证书打印系统与 COC企业级 COC 证书打印系统与 COC在线备案网站缺少衔接,耗费大量人力在线备案网站缺少衔接,耗费大量人力完成中间环节,因此亟需定向开发辅助完成中间环节,因此亟需定向开发辅助备案系统以实现对COC证书编号生成、备案系统以实现对COC证书编号生成、COC 在线备案、COC 证书下载及导入
3、COC 在线备案、COC 证书下载及导入三个流程的自动化处理。三个流程的自动化处理。2 Visual Basic 实现的方法Visual Basic 是一套可视化、面向对象、事件驱动方式的结构化程序设计语言。基于 Visual Baic 的 ActiveX 控件及动态链接库技术,Visual Basic 拥有较广泛的接口,可方便操作其他应用程序。笔者使用 Visual Basic 6.0(简称 VB6.0)完成开发。2.1 COC 证书编号生成COC 证书编号由生产企业编号、车型系列代号、一致性证书序列代号、一致性证书版本号四部分组成。生产企业编号由认证机构分配,可同时作为输入和输出,例:A1
4、23456。车型系列代号由 4 位字母或阿拉伯数字组成,建立“型号与名称-车型系列”映射关系表(见表 1),在生成COC 证书编号时,将车辆型号与名称作为输入,连接合并为一个新字符串后,通过在表 1 的“型号与名称”字段中检索即可确定车型系列代号。例如车辆型号“CX1257”名称“载货汽车”作为输入时,在表 1“型号与名称”字段检索“CX1257 载货汽车”字符,查询得到对应的代号“AA12”即是输出。表 1 映射关系表(例)型号与名称车型系列代号CX1257 载货汽车AA12CX1257 载货汽车底盘AA13CX4257V 牵引汽车AA14一致性证书序列代号由 37 位字母或阿拉伯数字组成,
5、所涉项目及每个项目的赋码位数(部分)如表 2 所示。表 2 序列号项目及赋码位数(部分例)参数项名称位数发动机型号3车辆高度2按参数类型可分为型号类与数字引言引言根 据 CNCA-C11-01:2020 强根 据 CNCA-C11-01:2020 强制性产品认证实施规则(汽车)中制性产品认证实施规则(汽车)中10.2 的规定,每一辆获证车辆须在随10.2 的规定,每一辆获证车辆须在随车文件中附带车辆一致性证书,以向消车文件中附带车辆一致性证书,以向消费者或有关部门明示认证产品信息。费者或有关部门明示认证产品信息。企业需提前完成整车 CCC 认证,取得企业需提前完成整车 CCC 认证,取得相应的
6、 CCC 证书,结合实际装车配置相应的 CCC 证书,结合实际装车配置生成一致性证书编号,完成 COC 在线生成一致性证书编号,完成 COC 在线备案后方可进行 COC 证书打印。围绕备案后方可进行 COC 证书打印。围绕COC 证书打印前的几个环节,对耗费COC 证书打印前的几个环节,对耗费人力巨大的在线备案环节进行优化改人力巨大的在线备案环节进行优化改造,设计开发了一致性证书辅助备案客造,设计开发了一致性证书辅助备案客户端,简化 COC 在线备案流程、提高户端,简化 COC 在线备案流程、提高COC 证书参数准确率及备案证书的效COC 证书参数准确率及备案证书的效率,并对相关备案原则、参数
7、进行强制率,并对相关备案原则、参数进行强制约束及规范。约束及规范。1 开发背景1 开发背景COC 证书在线备案是指在认证机COC 证书在线备案是指在认证机构指定的、可进行 COC 证书在线填报构指定的、可进行 COC 证书在线填报的网页上填报 COC 证书参数信息。的网页上填报 COC 证书参数信息。笔者所在企业的 COC 在线备案及打印笔者所在企业的 COC 在线备案及打印流程为:(1)提交 COC 申请;(2)流程为:(1)提交 COC 申请;(2)在线备案后下载 COC 证书到本地,再在线备案后下载 COC 证书到本地,再导入企业 COC 证书打印系统;(3)导入企业 COC 证书打印系
8、统;(3)COC 证书关联打印。COC 证书关联打印。文文/吴鲁宁吴鲁宁1 1 侯 宁 侯 宁1 1 李 桃 李 桃2 2(1.中国重汽集团战略规划部 2.中国重汽集团汽车研究总院(1.中国重汽集团战略规划部 2.中国重汽集团汽车研究总院)【摘 要摘 要】使用 Visual Basic 开发辅助备案客户端,着力提高 COC 在线备案的准确率及效率。辅助备案客户端完成】使用 Visual Basic 开发辅助备案客户端,着力提高 COC 在线备案的准确率及效率。辅助备案客户端完成备案后可自动下载 Excel 版 COC 证书并导入企业一致性证书打印系统,大幅提高企业在线备案的效率及准确率。备案后
9、可自动下载 Excel 版 COC 证书并导入企业一致性证书打印系统,大幅提高企业在线备案的效率及准确率。【关键词关键词】Visual Basic;强制性认证;一致性证书Visual Basic;强制性认证;一致性证书重型汽车HEAVY TRUCK32类。对型号类参数(如:发动机型号、变速器型号等)以发动机型号为例,建立“发动机赋码表”(见表 3),当输入的发动机型号为“FDJNO1”时,在表 3 的“发动机型号”字段中检索输入的发动机型号,得到对应的赋码值“AA1”即是输出。表 3 发动机赋码表(例)发动机型号赋码值FDJNO1AA1FDJNO2AA2FDJNO3AA3对数字类参数(如:轴距
10、长度、车辆高度等)以车辆高度为例,首先确定车辆高度区间,区间下限需小于企业所有申报车辆高度中的最小高度,区间上限需大于企业所有申报车辆高度中的最大高度,其次结合区间范围和当前项目的赋码位数划定合适的步长,通过判断输入的车辆高度所处的区间,即可确定当前高度对应的赋码值。将所有参数项按序号顺序依次生成的赋码值,连接形成一个新字符串,即得到车辆一致性证书序列代号。版本号与 CCC 证书的版本号相同(2 位),直接使用该 CCC 证书的版本号。本 文 以 Excel 作 为 存 储 介 质,VB6.0 是 一 种 面 向 对 象 的 编 程 语言,Excel Object Library 组 件 包
11、含Workbook(工作簿)、Worksheet(工作表)、Cells(单元格)等所有 Excel对象,VB6.0 引入“Microsoft Excel X.0 Object Library”COM 组件构建Excel 对象,对象经过实例化后便可访问本地 Excel 文件并进行读写、保存、删除等操作。VB6.0 打开配置表并依次读取配置表中的参数,依次生成COC 证书编号各部分赋码值,结束后将COC证书编号保存于当前配置表中,同时将 COC 证书编号及配置表中各项参数信息载入内存,以供下一步 COC证书在线备案使用。2.2 COC 证书在线备案COC 证 书 在 线 备 案 需 在 认 证机构
12、指定的网站上完成。VB6.0 的WebBrowser 控件可构建一个 Internet Explorer 对象,可访问 Http 或 Https网站,并将网站载入 Document 模型树。VB6.0 中的“Microsoft Html Object Library”“Microsoft Internet Controls”组件的 Document、Element、Text 等对象与属性可快速完成对已经载入 Document 模型树的网站上所有元素的定位、访问与操作。COC 证书在线备案的步骤为:(1)选择“车型系列代号”后点击“进入步骤 2:选择单元”;(2)选择“单元代号”后击进入“步骤
13、3:选择车型”;(3)选择“车型型号”后击进入“步骤4:COC数据备案”;(4)录入“COC证书编号”“COC 证书编号描述”“车辆燃料类型”等;(5)进入 COC 证书录入界面,录入详细信息;点击“保存”完成在线备案。上述步骤(1)(5)由 VB6.0自动完成。步骤(1)(4)在点击按钮后均需等待网页刷新完成后方可进行操作。由于 VB6.0 是单线程,在等待网页刷新过程中需要交出系统控制权,在网页刷新完成后需要继续执行程序,可以通过架设“钩子程序”来解决此问题,具体为使用 Timer 控件提前启动处理步骤(1)(4)的模块级程序,Timer 控件可以根据前期设定间隔固定时间循环执行,待触发条
14、件被激活便可实现对网页的继续操作。以录入“发动机”为例,在线备案网站中“发动机型号”下拉菜单有 AE 五个选项(如图 1 所示),VB6.0 精 准 选 择 发 动 机 参 数 A 的具 体 过 程 为:(1)VB6.0 读 取 的产品配置表中“发动机”项目的具体 型 号 为“A”;(2)解 析 网 页源 码,确 定 发 动 机 项 目 的 Select 节点,通 过“Microsoft Html Object Library”组件中的 GetElementbyID、G e t E l e m e n t b y N a m e、GetElementbyClassName 等方式定位到此 Se
15、lect 节点;(3)通过程序直接给此节点赋值的方式,可以使用程序自动勾选参数值,通过图 1 可以发现此节点 Value 值与其 InnerText 属性相同。图 1 发动机选项及其源码(例)2.3 COC 证书下载及导入COC 在线备案网站提供 Excel 版本证书下载功能,人工操作的流程为:(1)查询需要下载的 COC 证书;(2)点击网页对话框,下载 Excel 版本证书到本地后打开文件调整文件格式;(3)进入企业级一致性证书打印系统,上传Excel 文件。VB6.0 针对步骤(2)弹出的网页对话框,可遍历所有 Html 类窗口标题获取其句柄进行间接控制,VB6.0 打开本地 Excel
16、 文件后可以应用嵌套于Excel 中的 VBA 宏程序对 Excel 文件进行修改及保存。VB6.0 的 cls 窗口控制类,可以很方便快捷控制各种 Windows 窗口包括本地浏览器、资源管理器等应用程序,以实现模拟人工访问网站提交导入COC 证书的操作。3 总结使用辅助备案客户端,可实现由软件控制浏览器模拟人工操作实现在线备案等工作,将认证人员从繁重的备案工作中解放出来,同时也保证了备案参数的正确率。以模拟人工操作方式控制浏览器亦被称之为基于浏览器驱动的爬虫,能够直接识别动态页面加载后的网页。Python 中的 Selenium 模块,可以对浏览器进行调试,模拟鼠标点击、键盘输入等操作,让浏览器产生响应,可以将人工操作步骤直接使用 selenium进行模拟,从而达到自动化处理的功能。COC 证书在线备案的开发无固定模式,立足企业,结合实际,同时拓宽思路,既需要有相关产品认证知识,又需要有相关的编程应用能力,也从侧面反映出行业对于复合型人才的要求越来越高,只有这样才能搭上数字化智能化的快车,提升企业竞争力。参考文献略。