LabVIEW 与JAVA 智能终端交互

0 阅读9分钟

数智化发展背景下,工业测试场景对设备的数字化、智能化交互要求持续提升,传统纸质表单签字确认的方式,存在查阅调阅效率低、长期保存难度大、易篡改且信息真实性难以保障等问题。在各类试验测试系统中,基于 LabVIEW 开发的测试软件凭借图形化编程、数据采集与处理能力强、硬件兼容性高的特点,成为主流开发平台;而 JAVA 语言因跨平台、面向对象的特性,广泛应用于手写电子屏等智能终端的底层驱动开发。为实现测试系统与智能终端的无缝对接,解决不同编程语言开发的软硬件间的交互难题,本文以手写电子屏为智能交互终端,搭建 LabVIEW 测试软件与 JAVA 智能终端的交互体系,实现试验笔迹采集、电子表单合成与固化,替代传统纸质文件,提升试验测试流程的数字化水平。

总体设计

本方案以 LabVIEW 开发的试验测试系统软件为核心,手写电子屏为智能交互终端,核心目标是采集签字笔迹轨迹并精准合成至各类试验电子表单,生成不可修改的电子文档。

手写电子屏硬件采用 USB 接口通信,底层驱动基于 JAVA 语言开发,为文本式编程;LabVIEW 为图形化编辑语言,程序以框图形式呈现,二者编程语言与运行机制存在本质差异。为实现交互,需让两类应用程序开发公共对象并开放属性与方法,LabVIEW 端通过 ActiveX 技术调用属性节点,实现对 JAVA 智能终端的信息交互与控制,同时将表单模板转换为 PDF 格式,叠加采集的笔迹轨迹后完成电子文档的固化保存,整个过程实现无纸化工单流转、签字确认的全流程数字化。

LabVIEW 核心优势

LabVIEW 作为本次交互体系的核心平台,其功能特点为交互实现提供了关键支撑:一是图形化编程特性,以程序框图替代传统代码,开发人员可快速搭建程序逻辑,大幅降低硬件交互、数据调用的开发难度,提升开发效率;二是强大的 ActiveX 支持,可直接调用外部组件对象模型,实现与不同编程语言开发的软件、控件的跨语言交互,解决与 JAVA 终端的对接难题;三是硬件兼容性强,可直接与 USB 等接口的外设进行通信,无需额外编写复杂的硬件驱动适配程序;四是流程化程序设计,可对试验表单调用、笔迹采集、文档保存等步骤进行模块化设计,实现各环节的自动化执行,契合试验测试的标准化流程;五是状态值实时反馈,能精准获取终端通信、签名、文件保存等环节的状态信息,及时判定操作是否成功,提升系统的稳定性。

终端部署准备

手写电子屏作为 JAVA 智能终端,需完成本地文件部署与控件注册,为 LabVIEW 端的调用提供基础:将手写电子屏配套的 Lisc_gwq.dll、HWPostil.ocx、CloudCmdSign.ocx、SetUp.bat 四个文件存放至 C 盘根目录,双击 SetUp.bat 文件完成 OCX 控件的系统注册,确保 LabVIEW 端可通过 ActiveX 技术识别并调用智能终端的相关控件。需注意,文件存放路径为固定路径,若修改将导致后续 LabVIEW 与终端的通信失败。

LabVIEW 交互实现

LabVIEW 端通过 ActiveX 技术实现与 JAVA 手写电子屏的全流程交互,核心分为控件调用、通信交互、表单处理三大环节,各环节模块化设计,可根据试验需求灵活调用,以下为具体实现方法:

  1. ActiveX 控件调用:在 LabVIEW 程序的 “容器” 选板中调用 ActiveX 控件,选定 CloudCmdSign Control 为核心控件对象,该控件为手写屏关联的动态链接库,是 LabVIEW 与手写电子屏交互的核心桥梁。LabVIEW 可根据试验需求,调用该控件对应的各类属性与方法,在每次调用前需先与电子屏建立通信,发出手写签字申请,签名完成后接收终端返回的签名成功 / 失败状态值,作为流程执行判定依据。
  2. 交互流程实现:以试验参数设置功能的表单合成为例,LabVIEW 端的交互流程分为五步,各步骤环环相扣,实现自动化执行:首先与手写电子屏建立通信,通过 SetConnectDll 方法设置驱动地址、readDeviceld 方法获取设备编号,设备编号返回 0 即为通信成功,否则程序报错退出;其次调用 LoadFile 方法指定试验电子表单模板的存储地址,实现模板的快速调取;再通过 SetValue 方法对表单各区域进行赋值,strName 定义表单赋值区域名称,strValue 写入对应内容,支持字符串、字符数组等多种数据格式;随后调用 signCurrentPDFEx 方法完成签名设置,包括语音播报提示内容、签名等待超时时间、笔迹轨迹在表单中的合成位置等;最后调用 SaveTo 方法设置电子表单的保存地址,通过返回的状态值判定保存是否成功,状态值为 1 即保存成功,系统发出提示后程序自动关闭。
  3. 关键参数设置:在交互过程中,LabVIEW 端可对智能终端的关键操作参数进行自定义设置,提升适配性:通过 iTimeOut 参数设置签名等待时间,单位为秒,超时后终端自动退出签名界面;通过 strVoice 参数设置语音播报内容,实现操作的语音提示;通过 pcSignText、pcFigText 参数精准定义笔迹轨迹在 PDF 表单中的合成位置;通过端口参数 iPortNo 定义通信接口,0 表示 USB 口,适配手写电子屏的硬件通信方式。

JAVA 终端适配开发

为配合 LabVIEW 端的属性与方法调用,基于 JAVA 语言对手写电子屏进行底层功能块开发,将 LabVIEW 端需调用的每个操作均封装为独立功能块,开放对应的调用接口,确保 LabVIEW 端的指令可被终端精准识别并执行,核心功能块开发如下:

  1. SetConnectDll:实现驱动地址的设置,关联 CloudCmdSign 动态库,定义驱动程序的固定存储路径,为 LabVIEW 端与终端的通信建立基础;
  2. LoadFile:实现电子表单模板的调取,定义模板文件的存储路径,支持 LabVIEW 端对不同试验表单模板的快速调用;
  3. SetValue:实现表单区域的内容赋值,接收 LabVIEW 端传入的区域名称与赋值内容,完成表单基础信息的自动填充;
  4. signCurrentPDFEx:为核心签名功能块,包含端口、签名模式、超时时间、语音播报、签名位置等多类参数的定义,可根据 LabVIEW 端的指令,实现手写签名、指纹加盖等不同签名模式的切换,同时精准采集笔迹轨迹并暂存,为后续合成至表单做准备;
  5. SaveTo:实现电子文档的保存,接收 LabVIEW 端的保存地址指令,将表单模板、填充内容、笔迹轨迹进行合成,生成不可修改的 PDF 电子文档。

交互应用效果

通过 LabVIEW 与 JAVA 智能终端的交互体系,在试验测试流程中可根据功能需求,自动生成多类标准化电子表单,实现试验全流程的无纸化签字确认:一是试验前开车自检表,自动填充传感器、仪器仪表的量程、校检日期、资产编号等信息,责任人签字后完成表单合成;二是参数设置表,在试验前或系统参数、报警参数修改后,完成责任人签字确认与表单固化;三是开车检查表与停车检查表,按机械、电气专业分类生成表单,由对应专业责任人分别签字,停车检查表按固定命名规则保存,确保文件可追溯;四是开车记录表,实时采集试验人员的记录笔记轨迹,合成至电子表单,实现试验过程的数字化记录。

所有电子表单均为 PDF 格式,笔迹轨迹与表单内容绑定,无法随意修改,解决了传统纸质表单的弊端;同时试验人员可快速查阅、调阅电子表单,大幅提升试验数据的管理效率。该交互体系可在各类试验测试系统中快速部署,仅需根据试验需求调整表单模板与交互参数,即可实现 LabVIEW 测试软件与 JAVA 智能终端的适配对接。

应用总结

本方案通过 ActiveX 技术,成功解决了 LabVIEW 图形化编程软件与 JAVA 语言开发的智能终端之间的跨语言交互难题,充分发挥了 LabVIEW 在工业测试系统开发中的图形化编程、硬件交互、流程化设计等优势,以及 JAVA 语言在智能终端底层开发中的跨平台、面向对象特性。

该交互体系在各类试验测试场景中应用后,成功替代了传统纸质表单,有效提升了试验测试流程的数字化、标准化水平,解决了纸质文件查阅难、保存难、易篡改的问题;同时实现了试验表单生成、签字确认、文档保存的自动化,降低了试验人员的工作强度,提升了试验数据的真实性与可追溯性。此外,无纸化的操作模式契合环保办公理念,为工业测试设备的智能化、现代化升级提供了可复制的实现路径。