VB 在汽车检测线网络故障检测中的应用

2022-11-27 12:32亮,李
设备管理与维修 2022年20期
关键词:网络故障工控机控件

陈 亮,李 洁

(1.陕西重型汽车有限公司,陕西西安 710200;2.西安铁道技师学院,陕西西安 710038)

0 引言

VB(Visual Basic)是Microsoft 公司开发的一种通用的基于对象的可视化程序设计语言,拥有GUI(Graphical User Interface,图形用户界面)和RAD(Rapid Application Development,快速应用程序开发)系统。采用可视化编程,减少了代码编写难度,能快速地开发出应用程序。

汽车检测线主要对下线车辆的制动(含轮重)、前照灯、侧滑、车速和尾气排放等机动车安全技术项目进行检测,包含9 条线体,52 台设备,分布式布局在两个车间中。设备采用工控机控制,通过Ethernet 网络与服务器和报检计算机进行通信,汽车检测线网络拓扑如图1 所示,最远距离800 m,使用光纤收发器6 套,交换机8 台。

图1 汽车检测线网络拓扑

检测线出现网络后,经常需要人工逐台对服务器、计算机、工控机和网络设备的联网状态进行检查,耗时需要20 min以上。而且设备维修人员的经验对故障的排查影响很大,导致故障处理时间长。使用VB 编写网络故障检测算法,开发故障检测程序,定位故障设备和故障点,可以有效解决以上问题。

1 总体功能设计

现场进行网络故障排查时,首先要确定服务器、计算机和工控机的在网情况,找出掉线的设备。然后,根据掉线设备的数量和分布,判断故障点,再逐一进行排查解决。因此,程序需要具备网络状态监控和故障点逻辑判断两大功能。

通过编程依次循环对服务器、计算机和工控机进行网络通断测试,根据测试的结果,判断设备网络连接是否正常,不同的结果用不同的图标来显示,实现网络监控功能。将维修经验变成软件算法,根据网络通断检测结果,软件自动进行逻辑判断,确定可能的故障点,使用表格进行结果输出。

2 界面设计

2.1 网络状态监控界面

检测线共有1 台服务器、2 台报检计算机和19 台工控机,分别位于登录室、检测线和磨合间3 个不同的地方。为使维修人员快速找出掉线设备及所在区域,界面中对22 台设备进行分区域布局。登录室区域包含服务器、计算机等3 台设备,检测线区域包含1#~5#检测线的15 台工控机,磨合间区域包含5#~8#磨合间的4 台工控机。

本着用户界面简洁清晰的原则,使用Image 控件显示不同的图标来直观表示设备联网正常和联网异常两种网络状态。同时,设计监控开始按钮,使用CheckBox 控件,通过勾选动作既能实现监控开始、停止的功能,又能显示程序的运行状态。点击“退出”按钮,即可退出软件。网络状态监控界面如图2 所示。

图2 网络状态监控界面布局

2.2 故障点判断界面

根据积累的故障排查经验,故障点判断逻辑在登录室、检测线和磨合间3 种场景下是不同的。在不同的场景下,需要调用对应的逻辑方法,判断出网络故障,并显示可能的故障点。因此,故障点判断界面分为软件所在位置(场景选择)、检测结果和可能的故障点3 个功能区。

使用OptionButton 控件,设计登录室、检测线和磨合间3 种不同的使用场景,通过勾选自动调用对应的算法。使用ListBox控件,显示网络故障检测结果。使用ListBox 控件,显示逻辑判断的结果,故障点可能出现的位置和网络设备。

点击“检测开始”按钮,开始网络故障判断。“清空检测结果”,实现列表框清屏功能。“返回”按钮,可以快速返回网络状态监控界面。点击“退出”按钮,即可退出软件。故障点判断界面如图3 所示。

图3 故障点判断界面布局

3 算法编写

程序算法主要包括按钮点击事件、设备网络状态判断和网络故障点判断。

3.1 按钮点击事件

勾选“监控开始”按钮,循环调用函数对设备的网络状态进行判断,并显示对应的状态图标。

主要代码如下:

3.2 设备网络状态判断

现场设备有在线和掉线两种网络状态,可以使用ICMP(Internet Control Message Protocol,Internet 控制报文协议)来判断。ICMP 协议是一种面向无连接的协议,在主机与客户端之间传递控制信息,用于检测网络的连接状况。

主机向客户端发送ECHO 请求,从ICMP_ECHO_REPLY 答复所返回的报文信息中,获取往返时间Round trip Time。如果ECHO 请求失败,则会将往返时间Round trip Time 回报为0。根据Round trip Time 是否为0,则可判断测试客户端的网络是否正常,从而获取测试设备是否在线。

主要代码如下:

在网络状态监控界面循环调用上述函数,当ECHO.status不为0 时,Image 控件显示设备联网正常图标,当ECHO.status为0 时,则显示联网异常图标,实现在线监控22 台设备的网络状态。

3.3 网络故障点判断

在任一场景下,对3 个区域的节点(或重要)设备发送ECHO请求,均能根据返回的ECHO.status(即Round trip Time),判断出测试主机到服务器、检测线和磨合间3 个测试区域的网络是否正常。将ECHO.status 为不为0 时记为Y,为0 时记为N,网络正常记为Y,网络异常记为N,依据逻辑编写网络检测结果判定表,网络检测结果判定见表1。

表1 网络检测结果判定

根据总结的维修经验,使用IF…ELSE 语句,进行逻辑算法编程,将网络检测结果和对应的故障点在ListBox 控件中显示。

主要代码如下:

4 程序功能验证

程序开发过程中,在办公室局域网进行了功能模块的测试。测试结果正常后,将程序部署到汽车检测线的计算机和工控机上。在故障模拟测试阶段,网络状态监控和故障点逻辑判断两大功能均能正常运行。

检测线出现网络故障时,可以准确、快速地显示服务器、报检计算机和工控机等设备的联网状态,网络状态监控如图4 所示,并判断出可能的故障位置和网络设备,故障点逻辑判断如图5 所示。经过一年多的使用和数据统计,汽车检测线设备网络故障的平均排查时间从25 min 降低到5 min,有效提升了故障的处理效率,减少设备的停机时间。

图4 网络状态监控

图5 故障点逻辑判断

5 结语

根据Ethernet 网络状态判断方法,使用Visual Basic 语言对汽车检测线网络状态监控和故障点的逻辑判断进行设计和实现。一方面,通过软件算法代替人工逐台检查,提高了设备维修效率;另一方面,将维修经验总结提炼成软件算法,有利于知识和经验的传承。

猜你喜欢
网络故障工控机控件
基于.net的用户定义验证控件的应用分析
关于.net控件数组的探讨
计算机网络几种典型故障的处理及维护方法
普通台机替代工控机成功应用
印刷网络化解决方案中工控机系统的设计与实现
控制舱测试系统及其BIT设计
工控机使用方法和故障分析
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
Spreadsheet控件在Delphi数据库系统中的编程与应用