詹捷
摘 要:在发射机学习和维护过程中,需要经常翻阅大量的电路图,由于目前缺少技术系统的支撑,维护人员在发射机故障查看图纸分析电路时,会因为图纸上元器件数量大、字体小等问题,在查找相关元器件上往往需要花费很多的时间。文章提出了一种快速检索系统,并从设计思路、系统架构、系统设计方面对发射机电路图快速检索系统进行了详细介绍。
关键词:电路图;SQLite;快速检索系统
电路图可以帮助发射机维护人员分析电子电路或了解、掌握电路的工作原理。发射机电路图的查看在发射机维护的过程中至关重要。维护人员在处理发射机故障时,经常需要查看电路图来分析电路原理,判断故障点以便处理故障。由于目前缺少技术系统的支撑,且受图纸上元器件数量大、字体小等问题,往往花费大量的时间在查找相关元器件上,而且纸质电路图受纸张大小约束,往往元器件符号字体较小不方便查找,纸质电路图使用一段时间后图中字迹就会变得模糊不清,影响维护人员查看,所以亟待通过技术手段来改进这种传统的方式,以解决查找电路图元器件位置速度缓慢、电路图字迹不清等问题,方便快速地分析电路原理。
为了让维护人员在处理故障过程中方便快速地检索元器件在电路图中位置,查看分析电路原理、快速定位故障点、提高处理故障的效率、有力地保障安全播音,也为了学习人员更方便地进行电路图的学习和查找元器件,尽快地将图物结合,发射机电路图快速检索系统应运而生。
1 设计思路
发射机电路图快速检索系统(以下简称为“快速检索系统”)的总体设计思路是:通过前期的数据采集,将图纸上的元器件信息(包括电路图、元器件名称、元器件用途、元器件在图中位置等)导入快速检索系统,在今后使用过程中只需要在快速检索系统中选择相应电路图,就能自动加载出该电路图中所有元器件,选择需要定位的元器件即可在电路图中标注出定位元器件位置,并可以在系统中进行图纸的放大、拖动查看。
经以上分析,快速检索系统的开发存在以下重要技术点:(1)如何进行电路图的元器件数据采集。(2)如何进行高效的元器件定位标注。(3)如何让使用人员方便地查看分析电路图。
2 系统架构
快速检索系统基于ADO.NET三层架构开发,三层逻辑架构(3-Tier Architecture)由用户界面层(UI-User Interface Layer)、业务逻辑层(BLL-Business Logic Layer),数据访问层(DAL-Data Access Layer)組成[1],通过采用这种分层结构设计,形成了模块化设计方式,实现系统的“高内聚,低耦合”,从而能够快速地进行系统的设计与开发。使用三层架构设计,使得系统通过接口调用的方式达到模块间通信的目的,系统各模块之间以“低耦合”的方式联系。良好的扩展性和先进性是该架构的优势,以便于日后的扩展和升级,系统架构如图1所示。
本系统数据库采用SQLite数据库管理系统,SQLite是一款遵守原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),即ACID轻型嵌入式关系型数据库管理系统,它占用资源非常低,与同是开源的MySQL,PostgreSQL这两款数据库管理系统相比,不但处理速度更快,而且不需要额外的配置,只要把数据库文件放到任何系统中就可以直接使用,不需要另外购买数据服务器,节省了开支。因为只是一个文件,只要复制一份该数据库文件,就能够备份整个数据库,备份方便。SQLite支持事务,事务数据库的所有更改和查询表现出ACID,执行SQLite的事务操作时,写入磁盘操作时就算被程序崩溃、死机、断电等故障打断,事务操作都会完全执行或未执行。
根据需求分析,本系统数据库主要包含3张表:电路图区域划分表AREA、电路图汇总表DLT_SUMMARY、电路图详细信息表DLT_INFO。
3 系统设计
为了提高系统模块化设计程度,快速检索系统增加了通用类库Common和业务实体Model类库(包含AREA类、DLT_INFO类、DLT_SUMMARY类),使系统具有更高的低耦合性。引入Model类的好处是,在面向对象编程过程中,将需要在各层间进行传递的数据封装成实体类,便于数据传递和提高可读性。经过需求分析,本设计决定将快速检索系统分为5个功能模块进行编写,主要实现5大功能:图纸导入模块、信息采集模块、图纸检索模块、信息更新模块、信息删除模块[2],如图2所示。
3.1 图纸导入模块
图纸导入功能模块主要实现将需要检索的电路图及该电路图信息导入系统,方便在其他模块中进行调用。
进入该模块后,系统通过数据字典加载所属区域信息,用户选择需要导入的电路图,选择后通过ShowInfo()方法在下方显示导入的电路图,防止导入错误的电路图,并录入电路图编号、名称及选择所属区域,将电路图信息存入数据库中,导入的电路图交给信息采集模块做下一步处理,如图3所示。
3.2 信息采集模块
信息采集功能模块主要为检索模块提供元器件基础信息,方便元器件的高效检索与快速定位。
在该功能模块下,选择加载已导入的电路图,输入器件编号、器件用途,使用鼠标右键拖放来实现元器件位置的拾取(包括起始点坐标和终止点坐标),将复杂的采集信息存入Model实体,以Model为数据载体,通过三层逻辑架构中的BLL层调用DAL层,将数据信息存入数据库中。
该功能模块下,还可通过LoadCompXY()方法,实时查看已录入元器件信息,防止人员重复或者遗漏录入,信息采集模块如图4所示。
3.3 图纸检索模块
图纸检索功能模块通过选择所需查看的电路图,将信息采集模块采集的电路图信息数据转为数据字典,按元器件名称排序后,在左侧列表中自动列出所选电路图包含的元器件名称,通过左键双击需要定位的元器件名称,后台根据数据信息字典的KEY值,将字典中的数据依据DLT_ID,COMPONENTS_ID,START_X,START_Y,END_X,END_Y等关键字,读取元器件坐标信息,自动在窗体右侧加载电路图,并通过DrawRectangleInPicture()方法用红色方框标注出元器件位置,达到快速定位元器件,并分析电路原理的目的。
在该功能模块下,可用鼠标左键进行电路图的拖动,并通过鼠标中键进行放大、缩小操作,极大改善了电路图查看的方便性,图纸检索模块如图5所示。
3.4 信息更新模块
信息更新功能模块,通过BLL层的3个业务类(AREA,DLT_INFO,DLT_SUMMARY)来调用DAL层与之相对应的3个数据类(AREA,DLT_INFO,DLT_SUMMARY),来实现对电路图区域划分、电路图汇总信息、电路图详细信息3个表的修改操作。
电路图区域划分更新,分别使用DAL层中AREA类的ADD(),DELETE(),UPDATE()方法来增加、删除、修改发射机电路图所包含的区域,如高周区、电源区等。
电路图汇总信息更新,使用DAL层中DLT_INFO类的UPDATE()方法,修改导入电路图时录入错误、或临时变更的电路图编号、名称、所属区域及所在路径信息。
电路图详细信息更新,使用DAL層中DLT_SUMMARY类的UPDATE()方法,来修改某张电路图中已录入元器件的元器件编号COMPONENT_ID、元器件用途COMPONENT_USE、元器件位置(包括START_X,START_Y,END_X,END_Y)信息。
3.5 信息删除模块
信息删除功能模块通过BLL层的3个业务类(AREA,DLT_INFO,DLT_SUMMARY)来调用DAL层与之相对应的3个数据类(AREA,DLT_INFO,DLT_SUMMARY)的DELETE()方法,用来实现对不需要的元器件信息、不需要的发射机电路图进行删除。需要注意的是,删除电路图的同时,通过SQLite的DELETE_SUMMARY触发器,会自动删除该电路图中已录入的所有元器件信息(包括位置信息)。
4 结语
随着计算机技术化的发展,各行各业的工作与管理模式发生了巨大的变化。如何利用现有技术开发一套在发射机维护过程中有价值的应用系统越来越重要。在发射机维护过程中,经常需要翻阅电路图纸,如何能在电路图成百上千的元器件中快速定位某个器件,对发射机的故障判断分析处理至关重要,也是保障发射机“三满”播出的有效辅助手段。
快速检索系统既方便了学习人员,又极大地缩短了维护人员在电路图中查找所需元器件的时间,提高了故障处理分析的效率,为发射机故障处理节约了宝贵的时间。除了日常维护使用,还需要进一步优化与完善快速检索系统功能,比如加入光学字符识别(Optical Character Recognition,OCR)模块,自动获取元器件名称、坐标等信息,以提高信息采集模块的效率。将软件封装成多种方式,使系统不仅可以在计算机中运行,还可以在维护平板等平台上运行。针对电路中元器件连接线路走向复杂、往往需要结合多张图纸进行反复查看的问题,可以通过加入线路分析模块、进行多张图纸整合统一查看等方法来解决。
[参考文献]
[1]余晓红.WPF和Android双模式下XX银行的人事管理系统的设计与实现[D].成都:电子科技大学,2015.
[2]姬翔.互联网电视集成平台节目信息自动统计软件的设计与实现[J].广播电视信息,2018(4):55-57.
Design and implementation of fast retrieval system for
Abstract:In the process of transmitter learning and maintenance, it is necessary to read a large number of circuit diagrams on a regular basis. Because of the lack of the support of the technical system at present, the maintenance personnel check the drawing analysis circuit when the transmitter fails to check the drawing analysis circuit, because of the large number of components on the drawings. Problems such as small fonts often take a lot of time to find related components. In this paper, a fast retrieval system is proposed, and from the design ideas, system architecture, in the aspect of system design, the fast retrieval system of transmitter circuit diagram is introduced in detail.
Key words:circuit diagram; SQLite; fast retrieval system