APP下载

基于LabVIEW与Matlab-Simulink的深潜器舱口盖控制系统设计

2021-04-25王孙清郑恒持

自动化与仪表 2021年4期
关键词:下位板卡模拟量

于 朝,王孙清,张 杰,郑恒持,招 聪

(中国船舶科学研究中心,无锡214082)

通过探索、开发海洋,利用海洋资源解决我国人均资源不足、陆地资源枯竭的问题,成为21 世纪我国必须面对的挑战。深潜器的研发,对于探索深海资源具有重要意义[1]。其中深潜器出入舱与调压舱的舱口盖启闭机构是深潜器的关键部件之一[2],启闭机构能否正常、及时动作,关系到整个深潜器中人员的生命安全。为实现对舱口盖开关盖过程的精确控制,提高控制系统的采样频率与控制精度具有重要意义[3]。

文献[4]利用LabVIEW 软件设计人机监控界面,实现数据显示、异常检测以及超限报警等功能。文献[5]设计了一套基于LabVIEW 和PLC 的测控系统,实现对试验台的控制和数据采集。文献[6]采用LabVIEW 和工业以太网开发了电能监控系统,具有人机交互灵活,通信可靠等优点。文献[7]基于Matlab 中的XPC 实时系统,搭建硬件在环仿真平台,可实时通信,且无数据丢失与延迟。文献[8]基于XPC系统搭建无人机飞行控制系统,验证了该系统实用有效、易于维护。文献[9]基于XPC 系统搭建实时数据采集系统,验证了该系统的可行性。

本文通过使用LabVIEW 和Matlab 完成深潜器舱口盖控制系统的设计,保证深潜器执行任务过程中,能够全程监测舱口盖机构的运动状态以及完成对该机构的实时控制,保证深潜器和工作人员的安全。

1 控制系统硬件设计

本控制系统的硬件组成如图1 所示。

图1 控制系统硬件组成Fig.1 Control system hardware composition

主要硬件选型有:

(1)深潜器舱口盖启闭装置使用的传感器主要包括压力传感器、流量传感器、位移传感器和接近开关。由于在水下进行试验,故选择带水密变送器的传感器,能够实时检测舱口盖内压力变化以及通过液压缸伸缩位移来计算出舱口盖的角度。将采集到的舱口盖状态信息通过信号调理箱调理转化后输入到工控机中,作为状态量用于实时控制。

(2)信号调理箱主要将传感器的4~20 mA 的电流信号转化为2~10 V 的电压信号,输入到模拟量板卡中用于工控机控制;并将数字量板卡输出的数字量信号进行功率放大,用来驱动电磁阀完成各项流程操作。通过信号调理箱,保证舱口盖装置硬件与控制系统之间的信号稳定交互。

(3)工控机、数字量输入输出板卡和模拟量输入板卡均采用研华系列产品。工控机需要实时采集舱口盖装置状态信息,并将控制系统的控制信号实时输出用于实现舱口盖装置的控制,选择型号为研华IPC-610。数字量输入/输出板卡选择研华PCL-731 板卡,该板卡具有24 路输入输出接口,用于驱动电磁阀完成流程控制。模拟量输入板卡选择研华PCL-1716 板卡,该板卡具有8 路模拟量采集接口和16 路数字量输出接口。通过工控机和数字量/模拟量板卡,实现对舱口盖装置硬件的状态监测和实时控制。

2 控制系统软件设计

控制系统软件部分采用LabVIEW 与Matlab 联合编写,使用LabVIEW 编写上位机监测软件,使用Matlab/Simulink 模块编写下位机实时控制软件,上位机与下位机实时通讯,方便用户实时监测与控制,具体上下位机通讯方式如图2 所示。

图2 控制系统软件原理图Fig.2 Schematic diagram of control system software

上位机监测软件运行于工业一体机中,安装有LabVIEW 和Matlab 软件,进行舱口盖控制系统软件编写、调试和运行。下位机运行于工控机的XPC 实时内核中,完成控制软件与舱口盖装置的硬件信息交互与控制。下位机实时控制软件通过Matlab 的Simulink、状态流和C 编写,再使用Visual Studio 编译生成dll 动态链接库文件,LabVIEW 编写的上位机监测软件通过访问dll 文件来实现与下位机的数据交换和控制信息的发布。下面对上下位机控制软件的主要模块的编程进行介绍。

首先介绍上下位机通讯模块,该模块主要用来完成LabVIEW 与Matlab/Simulink 的通讯与数据传输。整体的数据通讯原理如图3 所示。

上位机监测软件主要包括操作区、 报警显示区、波形显示区和系统运行状态显示区。下位机通过采集舱口盖装置的状态信息,并经下位机编写的控制软件处理后输出控制信号用于控制。上位机通过调用XPCAPI.DLL 数据库完成对下位机数据的输出与采集,上下位机数据通过TCP/IP 协议进行传输。上下位机通过数据交换完成舱口盖装置的实时监测与控制。

图3 通讯模块设计原理图Fig.3 Communication module schematic diagram

其次,介绍操作命令发布模块,该模块主要用来发布下位机所需要的控制命令,保证系统流程正常运行,并设置系统参数,保证流程结束后能达到试验所需要的模拟条件。操作区程序框图如图4 所示,本控制软件为方便试验进行,设计了手动、半自动和全自动3 种控制方式,可以方便试验的进行。在程序框图中我们可以看出参数的设置、控制命令的发布等都是将数值赋值到对应的全局变量中,然后通讯模块通过对比比较全局变量的变化,在调用Matlab 的动态链接库函数将相应的数值传送到下位机中,下位机控制软件通过数值的改变。

图4 操作命令发布模块Fig.4 Operation command release module

其次,介绍数字量输入/输出模块,该模块主要用来发布控制命令、设置系统参数以及采集舱口盖装置状态量信息。本控制系统中,通过数字量输出完成控制命令的发布,控制实验流程的正常进行;设置系统参数,完成实验环境的设置。通过数字量输入,实现对实验进度和相应传感器信号的实时检测。通过采集下位机数字量信息到全局变量,上位机监控软件通过调用相应全局变量,显示舱口盖装置各种状态;控制量命令的发布通过改变相应全局变量的数值与下位机进行通讯。上位机编程的数字量输入和输出模块如图5 所示。

图5 数字量输入/输出模块Fig.5 Digital input/output module

最后,介绍模拟量采集与显示模块,该模块主要对舱口盖装置中所使用的压力传感器、流量传感器和位移传感器进行采集与显示。模拟量信号通过在下位机中通过PCI-1716 采集后,使用2 个Scope模块进行双波缓存传输,使得下位机采集的模拟量信号可以在上位机软件中实时显示。上位机中对从下位机采集的传感器信号进行数组拆解显示,并生成相应的曲线。传感器信号显示模块如图6 所示。

3 软件测试与分析

为了验证深潜器舱口盖装置控制系统的作用,通过LabVIEW 与Matlab 联合仿真实验,验证该控制系统的稳定性和实用性[10]。该舱口盖装置控制系统的上下位机编程如图7 所示。

图6 传感器信号显示模块Fig.6 Sensor signal display module

图7 舱口盖装置控制系统设计Fig.7 Design of control system for hatch cover device

下位机采用Matlab 编程,采样时间设置为1 ms。通过上下位机响应时间测试,可知系统命令响应时间在70 ms 左右。从图7 中可以看出,通过上位机程序,单击相应控制按钮,可以实现实验装置的启动与紧急停止,并通过与下位机通讯完成对舱口盖装置的动作控制。对于压力传感器和位移传感器数值可以通过传感器表盘实时显示。舱口盖装置实验进度、流量计状态和到位信息通过指示灯可以实时显示。

4 结语

舱口盖控制系统基于Matlab 与LabVIEW 联合编程的方式,实现了上位机与舱口盖装置的可靠实时高速通信。通过联合调试,下位机数据刷新频率为1 ms,上位机控制命令响应时间在70 ms 左右。基于Matlab 的XPC 实时控制核心,可保证下位机与舱口盖装置的实时通信。通过采用LabVIEW 编写的上位机界面,实现了与下位机的快速通信并提供了良好的人机交互界面。通过上下位机联合通讯,通过上位机完成舱口盖装置状态监测与流程控制,通过下位机完成对舱口盖装置的硬件控制。软件调试表明,上下位机可以正常通讯,通过上位机能够实现对下位机的有效控制,并可以实时采集下位机信息,完成对舱口盖装置的状态监测。

猜你喜欢

下位板卡模拟量
发射机房监控系统之下位机
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
景洪电厂监控系统下位机数据传输网络改造
关于600MW火电机组模拟量控制系统设计和研究
围观党“下位”,吐槽帝“登基”
一种基于光纤数据传输的多板卡软件程序烧写技术
CAN总线并发通信时下位机应用软件设计
模拟量输入式合并单元测试仪的研制
一种通用模拟量及开关量信号采集板卡的设计