1. SystemLink架构和数据服务
1.1. 架构和特点
现在在对SystemLink的功能有了一个大概的了解后,可以进一步从它的整体架构学习这门新技术了。NI官网给出了白皮书,原文是英文资料,如果觉得看着累,也已经有人很好的进行了翻译。
李时珍:SystemLink 架构zhuanlan.zhihu.com最左边是网页配置端,最右边是客户端,具有中央服务器,采用TCP/IP连接。架构亮点:
1、 开放性、可扩展性:SystemLink采用了开放的、可扩展的软件体系结构, SystemLink与其他软件的层级与互动关系如下图所示,提供开放式的Web API供LabVIEW、Web服务及其他系统(第三方)调用访问,提供更多的互联互通访问。
底层融合了诸多的顶级商业和优秀的开源技术,所集成的一流开源软件技术,实现了SystemLink工作过程中,信息的有效传递,数据文件的可靠管理,以及各个测试终端的配置操作;
2、为了保证数据通信安全,数据通信通过TLS加密,安全的用户访问:LDAP和AD集成;
3、为分布式节点进行了优化,系统功能并行执行,目标、服务器和用户可以在多个网络上;
4、支持安装在本地,也支持部署在云端,通过网页上的访问实现对客户端的设备管理,如果服务器从本地移动到了云端,那么我们的Server将可以实现对多个网络下客户端的统一管理。
SystemLInk的服务器端和客户端软件所支持的软硬件平台及开发语言平台支持情况如下入所示
1.2. 数据服务
如图是SystemLink数据服务整体架构,利用通信和中心化Web应用实现分布式解决方案。
最左边的Web应用提供操作面板、远程操作可视化、配置控制台、实时报告等功能,是一个多平台端。中间的SystemLink服务器是中心服务部分,用于聚合和处理文件及监视数据的高性能数据通信服务。最右边的客户端是一些API,包括LabVIEW API接口和http/Web API。
从客户端数据传到服务器端是非常灵活的,可以使用NI提供的APIs,也可以直接使用提供的开放APIs。这里体现的就是SystemLink的开放性架构。
如果是在NI家的生态环境下,简单的通过通过Skyline API即可实现客户端和服务端应用数据的传输。(前几篇有提及Skyline Data)
SystemLink数据服务相关的APIs如下图所示,注意每种数据服务的应用场景。如Tag数据服务适合多量慢更新速率应用场景,可以在Tag查看器、仪表板和WebVIs上可视化。
这些API的使用方式和结构与平时常用的LabVIEW通信API类似,简单方便。可以在LabVIEW的帮助里输入“Skyline”查找一个相关demo。
在Server端,对于获得数据(指应用数据),基于SystemLink可以通过多种方式实现数据可视化。
回到主界面,能看到几个工具用来可视化传送的数据,如文件查看器,Tag查看器,仪表板生成器等,测试监控器等。
1、内建的Tag查看器,TDMS Views(后续介绍)。Tag查看器面板中能看到所有从客户端传送到Server端的数据更新。
2、内建的文件查看器可以查看测试数据,TDMS格式,确保高速采集的测量数据被准确收集。(后续添加实例)
3、对测试序列的可视化。能监控测试序列执行的状态,也可以打开测试报告,查看测试分析。
4、前面的Tag查看器对于用户需求来讲并不一定算是真正的可视化,那么可以通过可视化仪表板仪表板来进行自定制。点击主界面的仪表板生成器图标后,进入仪表板界面,这里允许创建一系列的,自己定义的可视化面板。
选择新建或者已建好的仪表板案例,进入某一个仪表板就可以看到左列上方是一系列的空间,左列下方可以查找已有的tag,中间是显示界面(可以根据不同显示端优化适配),右侧是属性编辑器,可以编辑控件属性满足编辑空间的要求。在仪表板上通过拖拽,放置仪表板上的显示控件,并将Tag数据与之绑定,这是种拖拽方式配置实现编程。可视化数据,显示应用的运行情况。
这里只是以数据的显示为例子,当然还可以进行控制。
这种仪表板生成器的方式进行数据可视化无需安装任何驱动,已经集成在SystemLink上,服务器端的配置和查看是基于网页的,可以从任何一台有浏览器的设备访问。
具体里程可以看一下视频(视频中的版本较早,现在新的版本已经有一些改动,但影响不大)
SystemLink: Dashboard Builder Basics | SystemLink: 仪表板构架基础_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com5、还有一种方法是自定义开发的Web应用。前几篇的自学笔记中已经了解到,可以通过WebVI图形化拖拽编程构建Web应用,另外自定义Web应用并不局限于使用WebVI技术,也可以用其他程序构建。
在某些项目中,仅仅的数据可视化是不够的,还需要控制功能,以及对数据进行逻辑运算等。这些就可以通过开发自定义的Web应用进行。
如通过LabVIEW NXG WebVI生成html,JavaScript,css,然后导入SystemLink中。
以上几种方法从固定到灵活,可以根据实际的需求进行选择使用。另外随着版本的迭代更新,WebVI功能逐步实现达到JavaScript的功能更。