7.3 使用LabVIEW作为上位机
LabVIEW是一种程序开发环境,相较于C和BASIC开发环境,LabVIEW有着显著的区别:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。因此,LabVIEW非常适合应用于电气工程等领域的非专业计算机人员开发系统。
为了满足用户使用LabVIEW作为上位机的需求,低代码控制器提供了相应的解决方案。
使用LabVIEW作为上位机,需要实现实时数据和历史数据的交互。
实时数据交互
LabVIEW支持Modbus、TCP/IP等多种数据传输的通信协议,而低代码控制器也支持Modbus、MQTT等通信协议,因此可以用双方均满足的数据通信协议来实现实时数据交互。本节中以Modbus-TCP为例来实现实时数据交互。
首先LabVIEW需要安装Modbus组件,包含下图中所示的函数:
然后创建一个Modbus-TCP实例,如下图:
最后根据需求添加读取、写入线圈和寄存器的模块,完成连接后输入IP地址即端口号就可以进行数据通信。
历史数据交互
LabVIEW可以通过HTTP客户端软件包编程来访问服务器对外开放的Web API服务,而低代码控制器也提供自己的Web服务器,因此LabVIEW可以通过HTTP协议来远程访问低代码控制器的Web应用服务器以获取历史数据。
LabVIEW与低代码控制器间通过HTTP交互数据首先需要明确数据格式,一般会采用json格式。
然后LabVIEW侧建立相关访问程:LabVIEW有自带的HTTP协议函数(在数据通信--协议--http客户端,要实现post方法一般要用到打开句柄、POST、添加头、关闭句柄),在添加头函数的文件头处要留意头文件格式。相关程序可以参考下图:
最后双方统一URL,在POST函数中写入要上报的信息或文件到缓存区和获取返回消息的头部和体部了。此外,LabVIEW还有json格式的实现,可以直接使用字符串--平化还原字符串--平化至json,具体使用方法可以查看LabVIEW的帮助文档。