返回首页 | 收藏本站 | 联系我们
基于多视图模型的无线压力变送器测试系统
现在位置: 压力变送器 > 新闻中心 > 经验与文献 > 正文

基于多视图模型的无线压力变送器测试系统

时间:2023-10-07 08:59:27

 摘 要:无线压力变送器是一种基于无线通信协议的智能仪表设备,可实现压力信号无线远传,方便用户监控调试。 从用户定制到产业升级,通信方式的创新促成了产品测试方式的迭代,在多模无线通信充分覆盖的智慧车间生产环境下,引入多协议融合、多终端监控、多用户协同的新型测试方案势在必行。 shou先提出了一种测试系统的构建模式———多视图模型,然后设计了监控、调试和测试软件,进行了系统集成,#后在实际生产中验证了系统的效率优势。z6G压力变送器_差压变送器_液位变送器_温度变送器

 
引言
相较传统仪表,无线仪表在通信灵活性、测量实时性、使用便捷性等方面都具有优势。 在消费领域,具有远程抄表功能的无线仪表已走入千家万户[1-3];在业务领域,无线仪表的应用优势同样明显,以压力变送器为例,现有的油井压力动态测量多采用关井测量[4]、滑架测量[5] 等方式,不但依赖现场人员和基础设施,而且数据多为存储回放,实时性较差。引入无线压力变送器和通信网络后,可以实时监控油井压力状况,快速识别生产问题,从而降低现场安全风险[6]。
 
作为一款新兴产品,无线压力变送器在结构与工艺上和传统有线变送器有一定差异,因此,生产测试方法需要相应变化。 此产品起初是大型企业用户的定制产品,其生产测试环节均是定制化的,需要投入较多人力成本和时间成本;如今,产品在石油、电力、水利等行业的应用范围不断增加,市场规模逐年扩大,要同时兼顾产能和良率,实行标准化、集群化、并行化的测试方式必不可少[7]。
 
为提升无线压力变送器在车间生产线上的测试效率,整理了相关预备知识,shou先搭建了产品测试环节需要的通信拓扑结构,然后对传统的视图模型软件架构进行改良,形成了一套基于多视图模型(Multi-View-Model)的快速开发模式,#后采用该模式开发了一套生产测试系统,进行了应用验证,证明了测试系统的便捷性、可用性和高效性。
 
1 系统概述
生产测试系统是一个包含用户验证、远程监控、现场调试、自动测试等子功能的多功能软件,对管理人员、研发人员和操作人员提供了不同的软件支持,有助于简化工作流程,助力无线压力变送器的标准化生产,下面对系统研究对象、架构方法、环境依赖三个方面进行介绍。
 
1. 1 无线压力变送器
无线压力变送器是一种智能仪表设备,在传统压力变送器的基础上添加了无线通信模块,采用电池供电,从而保证用户现场的长期使用。
 
研究对象为SC-G08系列高精度无线智能变送器(0. 05%FS),是一种高性能无线压力变送器,使用高灵敏度单晶硅复合传感器和多参数补偿算法,可选择 ZigBee、LoRa、NB-IoT、WirelessHART 和 WIA-PA 等通信方式,支持星型、树型和 Mesh 等组网方案[8]。
 
1. 2 视图模型架构
视图模型(MVVM,Model-View-ViewModel) 是一种先金的软件构建模式,#早由 John Gossman 提出[9]。 与 MVC架构[10]和 MVP 架构[11] 相比,MVVM 架构在软件功能的前后端分离上更具优势(见图 1),因此,在业界已有较为广泛的框架应用研究与框架变体研究,如 WPF 桌面应用开发,Silverlight 网络应用开发,以及基于 MVVM 模式的架构变体ZK、Vue 和 Knockout 等[12]。
MVC、MVP 和 MVVM 架构示意图
从图 1 不难看出,三种架构可概括为 MVB,即模型(Model)、 视 图 ( View ) 以 及 视 图 与 模 型 间 的 桥 接 器(Bridge)。 观察从 MVC 到 MVVM 架构 Bridge 的迭代,可进一步明确 MVVM 的优势:
(1)操作解耦:与 MVC 相较,MVVM 引入了命令绑定器(Command Binder)来替代事件触发,避免了 View 对 Model的直接操作;
(2)数据解耦:与 MVP 相较,MVVM 引入了数据绑定器(Data Binder)来分离 GUI 代码,使得软件前端完全由数据驱动,减少了接口开发工作;
(3)开发解耦:与 MVC、MVP 相较,MVVM 模式中上层元件对下层元件不可见,ViewModel 层对 View 层、Model 层对 ViewModel 层的引用不是必须的,因此,可实现多人协作、分层开发。
 
由于 MVVM 架构多用于单个软件的设计实现,为实现由一到多、由点到面、由软件到系统的改进,提出了一种基于 MVVM 架构的架构变体———多视图模型(Multi-View-Model),并将此变体运用到生产测试系统开发中。
 
1. 3 无线智慧车间
在数字化车间的基础上,智慧车间加强了对生产线上流转数据的利用,不仅能通过 MES 系统、ERP 系统及数据库系统实现生产流程的自动化、数字化,还能通过工控网络和通信技术实现信息化、智能化,构建面向生产的智慧系统[13]。
 
依托重庆四联测控技术有限公司智能压力变送器制造数字化车间[14],以传统计算机设备为父节点、以智能产品为子节点构建无线智慧网络,并同时支持 ZigBee、LoRa 等无线组网方案,从而兼顾经济性和效率性,与传统生产线无缝兼容。
 
2 系统实现
本系统的搭建目的是在不同 Windows 系统版本的测试、调试和监控终端上实现对应功能,集成系统授权与用户管理,主要包含如下实现步骤。
2. 1 网络构建
测试系统的功能网络依托压力变送器标准生产线,通常包含工控机、气体压力控制器、数字万用表等设备,并配备有网络环境与操作人员。
 
通过对标准生产线进行少量的软硬件扩充,即可以较低成本构建适用于无线压力变送器的生产测试网络。为保证通信安全性和仪表响应速度,在软件上,本系统采用 C/ S 架构,开发环境为 Visual Studio 2017,框架为.NETFramework 4.x,从而实现在 Windows XP / 7 / 10 操作系统上原生运行。
 
在硬件上,本系统采用无线通信板卡(ZigBee、LoRa 等)与 GPIB 板卡作为工控机的外部通信拓展,分别通过 USB/RS232 板卡与仪表建立无线通信、通过 GPIB 板卡与压力控制器建立有线通信,通过增加/ 减少拓展接口即可实现软件与不同协议仪表通信功能的变更(图 2)。
车间生产测试网络拓扑
通过生产测试网络,智慧车间的测试数据可以经由无线通信中继节点或移动基站上载到服务器和监控设备,从而帮助决策人员实现对整个生产测试环节的监控与管理。
 
2. 2 框架设计
WPF 和 WinForms 是两种由微软提供、基于.NET 框架的桌面程序开发框架,是目前工控机桌面开发的主流框架,由于 WPF 提供高解析(HDPI)、触控( Touch)等先金特性,以及对 MVVM 设计模式的原生支持,本系统选用 WPF 作为软件开发的主要框架。
 
如 1. 2 所述,MVVM 设计模式采用三层结构设计,WPF框架每部分主要功能和实现内容如下:
(1)Model 层:采用 C#进行面向对象的底层建模,包含模型类、属性与方法,是 ViewModel 层的数据源;
(2) View 层:采用 XAML 描述语言进行设计,包含窗口、页面、控件等,并声明了前台所需数据和需执行的命令,不包含实际数据和命令实现;
(3)ViewModel 层:采用 C#编写绑定器( Binder),其中包含模型对象的实例化、模型属性与方法整理、属性与方法的绑定,是 View 层的数据源。
 
为便于软件开发,本系统中还添加一系列资源文件作为 MVVM 模式外部支持,包含:
(1)资源字典(Dictionary):采用 XAML 描述语言编写的前台资源,包含前台窗口、页面、控件使用的模板( Tem⁃plate)和主题风格(Style);
(2)数值转换器(Converter):采用 C#编写的后台绑定数据到前台的转换器,实现 IValueConverter 接口,从而保证数据传递的方向正确与可用;
(3)设置文件( Setting):采用 XML 语言存储的程序运行时可能读取的配置信息,包含应用程序设置和用户设置;
(4)其他(Other):引用集(Assembly)、NuGet 包、采用的图片、图标、字体等其他外部资源。
 
总的来看,MVVM 设计模式结构简洁(图 3),各模块之间边界清晰可见、分工明确,既适合个人开发,也适用于团队协作。
基于MVVM的WPF应用程序构建
然而,由于在 MVVM 模式中,每一个界面都同时包含Model、View、ViewModel 以及相应的 Converter,因此,在如下情形下存在劣势:
(1)跨界面情形:如果单个软件中存在多个界面,针对每个界面单好实行 MVVM 模式会复用大量代码,增加不必要的工作时间;
(2)跨软件情形:如果单个系统中存在多个软件,针对每个软件单好实行 MVVM 模式不但涉及代码重用,而且可能引起程序集或 NuGet 包管理版本混乱。
 
为保持 MVVM 框架并规避上述劣势,本系统引入了多视图模型(Multi-View-Model)的架构变体,综合考虑了测试系统所需软件的各项依赖,并针对性地制定了构建方案:
(1)资源整合:参照测试工艺流程,提取并编写跨解决方案的资源字典、公共模型和转换器,以求尽可能多地减少软件之间的重复代码(图 4)。
 
(2)框架精简:对于小型可复用界面(弹窗、对话框等)和自定义控件,直接将 Model 和 ViewModel 层放置在 View层后台代码中,同时实现 DataContext 功能和 INotifyProper⁃tyChanged 接口,减少文件数和代码量。
(3)交叉复用:建立 View 与 ViewModel 层之间的多对多关系(图 5),实现多视图模型变体,包括:
①单个 View 层对应两套并列的 ViewModel 层,其中一套用于前端调试(ViewSupport),另一套用于后端调试和实际运行(ModelInterface),从而实现项目前后端开发完全隔离,方便多人分组开发;
②单个 ViewModel 层对应多个 View 层,同时对多个界面提供后台数据,实现对不同应用场景或不同用户提供展示不同数据的软件界面。
 
上述构建方法提高了应用程序的构建效率,进而帮助实现测试系统软件的快速开发与拓展。
 
2. 3软件开发
 
在无线压力变送器研发、调试和生产测试环节中,软件是操作人员实现压力变送器远程配置、远程操作的主要媒介。 本项目围绕建立生产测试系统的目的,进行了如下配套软件的开发:
(1)监控软件
监控软件(WT Monitor)主要用于压力变送器上线入网后的设备信息监控与可视化,能帮助用户快速获取仪表运行状态与压力信息,既可以部署在本地(内网环境),又可以运行在远程服务器(公网环境)。
 
为实现更好的软件性能并能提供屏幕触控功能,WT Mo-nitor基于.NET Framework 4. 7. 2 开发,采用异步模型,从而更好地实现 NB-IoT、5G、ZigBee、LoRa 等无线仪表的多路并发要求。
(2)调试/ 标定软件
调试/ 标定软件(WT Calibration)主要用于帮助研发人员在调试过程中对单台无线压力变送器进行功能检查,集成了参数解析、仪表描述标定、仪表参数标定等功能。由于变送器的调试与标定依赖模型一致,但有不同环境的使用需求,因此,借助交叉复用方法,构建了两种不同的前台界面(图 7):
 
①调试软件:主要用于研发环境,提供标定命令构建、自定义命令发送、仪表信息导入导出等功能,移除了对外部数据库的依赖;
②标定软件:主要用于生产环境,提供仪表数据可视化、参数标定、数据库连接等功能,可以实现仪表的手动标定或手动加压测试,移除了部分不适用于生产环境的功能。尽管在调试/ 标定软件中可以实现仪表加压测试,但依赖手动操作,而且只能进行单台仪表调试/ 标定,因此,在此基础上进一步开发了自动测试软件。
(3)自动测试软件
自动测试软件(WT Test)是适用于无线压力变送器整机测试的工控机软件,同时也具备仪表标定、数据库检索等功能,实现了压力变送器与压力控制器、服务器和远程数据库的协同工作。无线压力变送器的整机测试主要包含如图 8 所示步骤:
①软件初始化:检查外部设备工作是否正常,尝试在工控机与压力控制器、服务器和远程数据库之间建立通信连接;
②连接仪表:正确安装无线压力变送器,并尝试与工控机建立连接,并进入标定状态。
③自动测试:从远程数据库读取有关信息,并将量程、单位等出厂信息写入仪表,随后依照工艺流程,对压力控制器进行逐量程多点位施压、卸压操作,确保每个点位误差、回差均满足精度要求;
④开仪表:测试合格后,切断仪表与工控机的通信,更改通信间隔时间,随后断电;
⑤结果记录:将全流程的测试信息与测试结果进行记录,并写入远程数据库。
 
如图 9 所示,WT Test 基于.NET Framework 4. 0 开发,并采用标准 I/ O 函数库(VISA)进行读写,从而在 Windows XP / 7 /10 等系统上取得一致的用户体验。
 
2. 4系统集成
 
项目采用配备好立授权软件(WT Login)来实现内网授权管理,只实现 Web API 验证功能,实际软件在用户验证通过后再实例化,用户信息和配置文件将作为启动参数传递给软件模型。
 
目前授权软件仅作为测试系统的集成入口实现用户验证,后续可汇总不同软件在工控机上的使用信息,实现完整的后台管理系统。
3 系统验证
3. 1 环境配置
下面尝试将测试系统部署于数字化车间中,对系统进行全功能验证,主要环境硬件配置如下间配备的基本外部支持
3. 2生产验证
 
无线压力变送器在定制产品生产的整机手动测试过程中,需要人工手动操作压力控制器逐点计数,单表测试时长在 15 分钟以上。
 
本项目的生产测试系统实现了信息录入、自动测试和结果记录的流程自动化。 经车间验证,在采用自动测试软件(图 10)后,从仪表连接到测试结束,总时长为 5 ~ 10 分钟,减时增效达 33% ~66%,全程wuxu人工干预,有效避免了人工可能出现的误操作情况。
 
4 总结
构建了无线压力变送器生产测试系统,验证了多视图模型在软件开发上的好特优势,提升了车间生产力,为新产品的快速标准化提供了帮助。
版权所有://www.coopthat.com/ 转载请注明出处

看过本文的人还看过的文章

你可能感兴趣的文章

相关产品

Baidu
map