论文部分内容阅读
激光标刻技术是激光技术的一个重要应用,目前已被广泛地应用到各个领域,从产品标识,到激光防伪,甚至到一些高新产品的制造中都或多或少地留下了激光标刻的痕迹。虽然目前激光标刻机几近成熟,但是还有一些设计和需求值得改进甚至重构。
本文提供了激光标刻完整的跨平台软件解决方案,其中包括驱动层,标刻设备接口层,以及标刻设计软件。驱动层和硬件密切相关,通过向控制卡的相应寄存器内写值达到控制振镜和激光器的目的;标刻设备接口可以将基本图元,比如矢量图,位图转为相应的点数据提供给驱动层使用,同时作者创新性地在标刻设备接口模块中提出了基于网络的标刻服务概念,接口在权限适当的情况下可以接受来自本地或者远端的基本图元标刻请求;标刻设计软件则是面向图元设计用户,此软件允许用户导入复杂图元和编辑复杂图元,在请求标刻时,标刻设计软件会将复杂图元转为标刻设备接口支持的基本图元,并按标刻服务协议向标刻设备接口提出标刻请求。
整个激光标刻机软件系统支持Windows和Linux平台,驱动层采用C语言开发;标刻设备接口图元矢量化部分采用C/C++语言开发,同时提供Python模块接口;标刻设计软件采用Python语言开发,用户图形接口选择一致性和易用性很高的Qt图形库。整个软件系统采用模块化,小组协调开发,采用多种设计模式使得最大程度地减小模块之间的耦合性,从而使得软件的持续开发性,扩展性和可维护性较强。
项目的管理也是整个软件开发和维护过程中的很重要一部分,项目管理主要包括:编码规范,项目托管和许可协议,以及日志维护和API开发文档。在整个项目开发过程中,项目成员必须严格在项目管理的事务下进行软件开发,比如编码必须符合既定规范,代码必须每次在取得进展后提交到SVN服务器上,项目成员需要按照GTD的思想去每天编写TODO列表,以及检查自己的进度。一个良好的项目管理能提高项目成员的凝聚力和成就感,从而能让整个项目能够稳定地走下去。