GE数字集团系统架构师 刘尊义
Historian 8.1于今年五月正式发布,上次GE数字小编为大家科普了让文件传输更简单高效的黑科技ETL工具 ,这一篇将为你介绍Historian 8.1的另一个新功能-通过REST API对采集器进行远程控制,我们可以在所有支持REST API的软件中实现Proficy Historian采集器基本的远程管理任务。
Historian 8.0版本支持通过REST API实现对采集器版本和状态的查询,Historian 8.1版本发布时也对此进行更新,支持通过REST API实现对采集器的启动、停止、暂停和恢复,满足对采集器远程管理的基本需求。
从Historian采集器远程管理功能的导入不难看到GE Digital在工业软件技术上的新变化。GE Digital正在重新评估传统工业软件更多基于安全考虑的分散策略,转而开始兼顾分散存储和集中管理,这是GE Digital在首倡IIoT概念和平台后,发力传统工业软件技术革新的标志。
我们今天带来GE Proficy Historian采集器远程管理功能的详细步骤,工业大神们可以在工业应用场景快速部署Historian采集器的远程管理功能。
功能简介
Historian的采集器往往会分布在不同的地理位置,通过访问每一台采集站机器非常浪费时间和降低了管理的实效性。引入此功能后,我们不再需要访问采集器的物理机器来进行管理。Historian在8.1版本提供了启动、停止、暂停和恢复四种远程控制REST API接口。
特别提醒
Historian 8.1版本的采集器远程管理功能通过REST API接口交换数据,必须经过身份验证。只有请求端提供客户端凭据后,才会生成访问令牌,然后请求端依据令牌获取数据,以此保证数据安全。我们需要注意以下前提条件:
1 、正确安装
在Historian 8.1版本安装包中,除了需要正确安装Historian主程序,还需要Web-Based Clients的支持,如果采集器和Historian主程序不是安装在同一机器,还需要Remote Management Agents的支持。安装Historian主程序时一定要填入Https://Server:PortNumber/uaa格式的UAA Base URL,否则REST API将无法获取服务器的身份验证Token令牌。
本文以Simulation Collector采集器为例进行测试;
2、Historian安全性启用
只有iH Security Admins、iH Tag Admins和iH Collector Admins安全组的成员才能远程管理采集器。
前期准备
首先,安装Historian、Web-based Clients和Remote Management Agents:
本文以Simulation Collector采集器为例进行测试;
为了测试方便,我们请出REST API测试神器Postman,Postman的安装也很简单,不再赘述,大家可以自行下载了解。
查看采集器状态测试
先来个简单的,获取采集器状态的REST API在Historian 8.0版本就已经发布,我们需要用到REST API的GET方法,URL为:
https:// /historian-rest-api/v1/collector/status/{interfaceName}
这里面的 指的是同一网络中的Historian服务器的机器名,{interfaceName}指的是采集器的名字。
大家可以尝试采用Ping 的方式,测试查询段是否能够正常解析服务器名,如果无法解析,请在Hosts文件中添加服务器解析,默认安装的Hosts文件存放在系统
“C:\windows\system32\drivers\etc”文件夹,Hosts文件因为系统安全设置问题无法在当前位置修改,建议将Hosts文件拷贝到桌面,用记事本修改保存后再拷回到
“C:\windows\system32\drivers\etc”文件夹,Hosts文件添加解析的格式示例如下:
192.168.0.100 His81
对于{interfaceName}我们可以通过Historian Administrator查看采集器的名字。
另外需要注意,我们前文说过,通过REST API与Historian交换数据,必须经过身份验证。如果我们没有获取Token令牌,系统将给我们返回如下错误信息:
我们该如何获取Token令牌呢?这个时候我们需要用到另外一个REST API,用GET方法:
https://His81/uaa/oauth/token?grant_type=client_credentials
会返回如下几个字段:
其中的Access_token字段就是我们需要的Token令牌,我们使用Bearer Token类型把这个令牌引用到Authorization,其它Historian REST API查询和指令测试都会用到这个Token令牌,我们复制即可。
再次进行查看采集器状态测试,系统返回如下信息:
查询到采集器正在运行,接口正常,下面是Postman接口测试的截图,新手们照例设置并理解即可:
查看采集器版本测试
获取采集器版本的REST API同样是在Historian 8.0版本就已经发布,我们需要用到REST API的GET方法,URL为:
https:// /historian-rest-api/v1/collector/version/{interfaceName}
查询到采集器版本号为"8.1.2185.0",可以正常获取数据:
远程控制采集器测试
远程控制采集器的REST API是在Historian 8.1版本最新发布的,与前述两个接口不一样的是我们后面需要用到REST API的PUT方法,不同接口的远程控制采集器URL分别为:
启动 https:// /historian-rest-api/v1/collector/start
停止 https:// /historian-rest-api/v1/collector/stop
重启 https:// /historian-rest-api/v1/collector/restart
暂停 https:// /historian-rest-api/v1/collector/pausecollection/{interfaceName}
恢复 https:// /historian-rest-api/v1/collector/resumecollection/{interfaceName}
需要注意,我们需要在远程控制采集器的PUT方法中定义发送请求的数据类型,将Content-Type设置为application/Json类型。
01:
对于采集器启动接口需要在Body体中,设定InerfaceName、Mode、WinUserName、WinPassword四个参数,采集器启动接口在Postman的设定如下,发送后可以接收到采集器启动信号。
02:
对于采集器停止接口需要在Body体中,设定InerfaceName、WinUserName、WinPassword三个参数,采集器停止接口在Postman的设定如下,发送后可以接收到采集器停止信号。
03:
对于采集器重新启动接口需要在Body体中,设定InerfaceName、WinUserName、WinPassword三个参数,采集器重新启动接口在Postman的设定如下,发送后可以接收到采集器重新启动完成信号。
04:
对于采集器暂停接口只需保持Body为空,采集器暂停接口在Postman的设定如下,发送后可以接收到采集器停止状态。
05:
对于采集器恢复接口同样只需保持Body为空,采集器恢复接口在Postman的设定如下,发送后可以接收到采集器恢复运行状态。
大家可以逐一测试,我们也可以思考一个问题,远程控制指令的执行是否需要考虑当前的采集器运行状态?希望大家可以动手试试。
总结
通过以上的测试,大家可以理解Historian采集器远程管理基于REST API,这决定了我们可以将Historian采集器的远程管理交由任何支持REST API的软件平台。
GE Digital的Operations Hub即是支持REST API的最新的工业互联网开发平台,当然也可以实现通过REST API远程管理Historian采集器。下一篇,我们会来介绍一下通过Operations Hub的REST API接口可以实现哪些有意思的应用。
如果大家对GE Digital软件产品感兴趣,
欢迎随时与GE Digital联系。