APP下载

基于Python的激光传感器参数设置与调试软件设计

2025-02-15刘新敏汤莉曾华鹏刘律骁

科技创新与应用 2025年4期
关键词:参数设置

摘" 要:当前复杂多变的客户应用场景,对激光传感器参数配置的灵活性和故障诊断的效率提出了更高的要求,该文设计一种基于Python和Pyqt的激光传感器参数设置与调试软件。该软件可让技术支持工程师在客户现场根据不同的应用场景写入定制的参数配置,并可通过通信对激光传感器进行调试和故障分析。实际测试表明,软件可以成功读取和修改激光传感器的参数配置,并通过通信对其进行调试和故障分析,从而满足客户应用场景多样化的需求。

关键词:激光传感器; 上位机软件; 参数设置; Python; Pyqt

中图分类号:TP319""""" 文献标志码:A""""""""" 文章编号:2095-2945(2025)04-0114-04

Abstract: The current complex and ever-changing customer application scenarios have put forward higher requirements for the flexibility of laser sensor parameter configuration and the efficiency of fault diagnosis. This article designs a laser sensor parameter setting and debugging software based on Python and Pyqt. This software allows technical support engineers to write customized parameter configurations based on different application scenarios at customer sites, and can debug and analyze laser sensors through communication. Actual testing has shown that the software can successfully read and modify the parameter configuration of laser sensors, and debug and analyze them through communication, thereby meeting the diverse needs of customer application scenarios.

Keywords: laser sensor; PC software; parameter settings; Python; Pyqt

激光传感器是通过激光技术进行数据测量采集的传感器,其由激光发射器、激光检测器及测量电路组成,可实现远距离无接触测量,具备数据采集精度高、抗电干扰能力较强的特点[1]。

在实际应用中,由于客户现场使用场景复杂多变,给激光传感器的硬件软件设计、现场的故障诊断提出了更高的要求[2]。为提高激光传感器的通用性,软硬件进行了模块化设计,在非易失存储器中创建可配置参数。针对不同的客户应用场景,设置不同的配置参数(例如网络名称、网络地址等),有效提高激光传感器在应用中的作业效率[3],从而覆盖更多客户应用场景,提高了产品的通用性。

随着技术的发展,激光传感器开始具备网络通信功能。在客户应用场景中,往往包含多个激光传感器,这就要求在同一个网络中的各个激光传感器的网络名称、网络地址均不相同,因此配置参数也各不相同。

针对不同客户应用场景定制不同的配置参数,传统的做法是在产品生产环节,向激光传感器烧录程序的同时写入定制的配置参数[4]。然而上述做法有以下几个不足:第一,增加了生产的复杂性和产品的生产时间,降低了产能;第二,存在配置参数管理问题,若写入错误的配置参数则会影响客户使用,严重时甚至会遭到客户投诉。

对于客户现场的故障诊断,传统的做法是技术支持工程师按划定范围逐步测量输入和输出信号进行故障分析和排查[5]。该做法存在以下几点不足:其一,排查问题需耗费大量时间,效率较低;其二,所测量的信号并非故障发生时的信号,不利于故障分析。

综上,本文设计了基于Python和Pyqt的激光传感器参数设置与调试软件。通过该软件,技术支持工程师可在客户现场根据具体的应用场景对激光传感器设置相应的配置参数,一方面满足了应用场景需求,另一方面简化了产品生产流程,缩短生产时间,同时避免了由于写入错误配置参数导致客户投诉的问题;此外,在进行故障诊断时,可通过该软件读取存储在激光传感器内部的故障码以及历史运行数据,从而更加客观和高效地进行故障分析和排查,有利于快速发现问题,解决问题。

1" 系统组成

系统结构图如图1所示。激光传感器由发射器、接收器和核心嵌入式电路板组成[6],电路板由电源模块将220VAC转换成24VDC进行供电,电路板通过RS-232和网络透传芯片进行通信,网络透传芯片通过TCP/IP与上位机进行通信。

运行的上位机的参数设置与调试软件,可通过TCP/IP向激光传感器发送配置参数查询命令,读取到所有配置参数后,可在上位机对配置参数进行修改,并通过发送配置参数修改命令,修改激光传感器中的配置参数。此外,上位机软件可通过TCP/IP向激光传感器发送预定义的测试命令,读取传感器内部存储的故障码和实时运行信息。

2" 上位机软件设计

2.1" 软件功能设计

软件功能设计如图2所示。从图2中可知,使用软件的角色有3种:技术支持工程师、生产工程师和现场用户。3种角色通过账号密码方式登录;使用角色可通过软件搜索与PC机连接的所有的激光传感器设置,点击其中的一个设备即可读取该激光传感器的参数,在上位机修改参数并写入到激光传感器中;参数配置结束后,可对该激光传感器进行故障诊断,首先进行网络调试设置,然后按照激光传感器的协议发送调试数据,接收返回的调试数据并进行分析。

2.2 整体架构设计

程序采用Python+Pyqt进行开发。软件界面是通过Pyqt工具包搭建的,Pyqt是一个用于创建GUI应用程序的跨平台工具包,可将Python与Qt库融为一体[7]。软件整体架构图如图3所示。

Main.py中的Class:MainWindowApp为主程序入口,负责全局Signal信号的控制和处理,软件前端部分(界面)调用了MainWindowLogic.py的WidgetLogic负责各控件UI显示处理以及控件的逻辑处理,WidgetLogic调用了UI/NetToolsUI.py的Ui_MainWindow负责纯UI界面全部控件与布局以及UI图片、图标的显示;软件后台部分调用了Network/__init__.py中的NetworkLogic对网络进行初始化和配置,该模块分别调用了Network/Tcp.py中的TcpLogic实现了TCP的服务器端和客户端通信功能,调用了Network/Udp.py中的UdpLogic实现了UDP的服务器端和客户端通信功能,调用了Network/NetModuleConfig.py中的NetModuleCfg实现了网络设备搜索、获取网络设备配置、恢复网络设备出厂设置等功能。

2.3" 软件界面设计

软件界面原型图如图4所示。从右上方的菜单处可以点击“用户登录”进行3种角色权限的登录,不同的角色显示不同的功能区域,最高权限的技术支持工程师的用户界面,该权限可访问所有的功能区域。首先可选择上位机的网络适配器;然后点击“搜索设备”按钮查找与该网络适配器连接的所有网络设备(激光传感器)并显示在设备列表中;双击设备列表中的“设备”,既可读取该设备中的所有配置参数并显示在“基础设备”和“端口1”中;在界面中手动修改设备参数并点击“配置设备参数”按钮,即可将新的配置参数写入网络设备(激光传感器)。

更新配置参数完毕,可在“网络调试设置”中选择相应的网络适配器,根据激光传感器配置参数中的“网络模式”,选择上位机相对应的“协议类型”“本地端口”“目标IP”和“目标端口”,点击“连接”按钮即可完成上位机与激光传感器的网络连接,在“网络发送区”中按照激光传感器的应用协议发送相应命令,即可读取存储在激光传感器中的故障码、历史运行信息,以及读取和更新应用配置参数。

2.4" 软件流程设计

软件流程图如图5所示。由图5可知,用户首先选择网络适配器,然后搜索与该网络适配器连接的所有激光传感器(网络设备),双击设备列表中的设备名称读取所有配置参数并显示,修改界面中对应的参数并写入激光传感器,最后通过TCP/UDP向激光传感器读取故障码和历史运行信息,以及读取和更新应用配置参数。

NetModuleConfig.py实现网络配置相关功能,包括设备搜索/获取配置/配置/恢复出厂配置,配置数据格式转换/处理/交互。其核心的NetModuleCfg代码如图6所示。

3" 测试结果与分析

3.1" 测试环境搭建

样机的测试环境如图7所示。

激光传感器由直流电源模块供24 V直流电,传感器通过网络透传模块与上位机进行通信。上位机通过参数设置与调试软件向激光传感器发送相关命令,实现修改配置参数,读取故障码和历史运行信息等。

3.2" 测试结果及分析

激光传感器参数设置与调试软件功能测试共包含以下部分:角色登录、网络设备搜索、配置参数读取、更新配置参数、TCP/UDP网络连接、激光传感器应用层协议通信。测试结果见表1。

测试实际界面如图8所示。以技术支持工程师角色登录后,上位机连接一个激光传感器,软件能够成功搜索出该设备并显示在设备列表中,双击列表中的设备,成功显示所有配置参数。修改设备名为“BEA Flatscan”,设备IP从“192.168.1.100”修改为“192.168.2.200”点击“配置设备参数”,成功写入并回读,在界面下方显示“设备配置成功并重启完成”。在“网络调试助手”中按照激光传感器的配置参数,设置上位机对应的网络设置并成功连接,界面下方显示“网络状态:TCP Server”,在网络发送区发送读取故障码、历史运行信息命令、读取和修改应用配置参数命令,网络接收区中成功收到激光传感器所回复的故障码、历史运行信息以及更新后的应用配置参数反馈信息。

4" 结束语

本文设计开发了一种基于Python和Pyqt的激光传感器参数设置与调试软件。该软件可通过网络与激光传感器进行通信,并通过通信读取激光传感器的配置参数并进行修改;可根据激光传感器的网络配置参数,灵活选择TCP或UDP进行连接,向激光传感器发送相应命令读取故障码和实时运行信息,并读取和修改应用配置参数。实验证明,采用该软件可以让激光传感器适用于更多的客户应用场景,进一步满足客户需求。同时简化激光传感器的生产流程,缩短了生产时间,提高了产能,并避免在生产环节写入错误的配置参数导致客户投诉的问题。

参考文献:

[1] 张金德.基于激光传感器的机电一体化设备自动化控制系统[J].自动化与仪表,2024,39(3):103-106,125.

[2] 徐军.基于多传感器融合的移动机器人同步定位与建图研究[D].镇江:江苏科技大学,2020.

[3] 孙娜,王艳君,邱权,等.激光传感器在农业中的应用[J].北方园艺,2019(20):150-156.

[4] 吴德刚,赵利平,陈乾辉.基于激光传感器的农业机械控制器设计[J].激光杂志,2024,45(2):234-238.

[5] 韩海飞,魏仁哲,王收军,等.基于物联网与深度学习的机械设备的故障诊断综述[J].天津理工大学学报,2025,41(2):21-29.

[6] 张佳,韩健,韩金玉.逻辑回归模型下激光传感器网络安全态势感知[J].激光杂志,2024,45(2):174-180.

[7] 杨之杰,林雪刚,阮杰.基于CNN网络的手写体数字识别系统的实现[J].智能计算机与应用,2023,13(4):158-162.

猜你喜欢

参数设置
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
动车环境下U900异频切换参数设置探讨
基于STM32处理器的大棚温湿度监控系统设计
基于MATLAB仿真的井下变压器参数设置研究
有备无患,软件参数设置也能备份