aimapi:实现Invensys AimAPI的服务器与客户端工具

需积分: 10 2 下载量 97 浏览量 更新于2024-12-16 收藏 11.19MB ZIP 举报
资源摘要信息:"aimapi是一个旨在与Invensys(Foxboro)AimAPI交互的应用程序,可以查询历史和实时数据,不需要安装额外的“Networked Aim API”。这个应用程序是用golang-1.4.2编写的,包括了服务器和客户端两个部分。其中,服务器是一个RPC(远程过程调用)服务器,它通过网络暴露可由客户端调用的功能。服务器部分的可执行文件名为nrg-aimapi-server.exe,运行在Windows Aim*Historian计算机上,监听端口为51295。当收到客户端的请求时,服务器会处理请求并调用功能,然后将响应返回给客户端。服务器与Invensys提供的aimhistory.dll和NRG_aimapi_wrapper.dll动态链接库交互,以实现功能调用。" 在深入讲解aimapi之前,我们先了解一下相关的技术背景和术语。 **Invensys(Foxboro)AimAPI**: - Invensys是工业自动化领域的知名企业,后被施耐德电气收购。 - Foxboro是Invensys下属的一个品牌,专注于生产过程自动化控制系统。 - AimAPI是Foxboro系统的应用程序接口(API),通常用于获取系统中的历史和实时数据。 - 使用AimAPI可以方便地从Foxboro系统中提取数据,用于进一步的数据分析和报告生成。 **RPC(远程过程调用)**: - RPC是一种计算机通信协议。该协议允许一台计算机上的程序调用另一台计算机上的程序,而开发者无需额外地为这种分布式交互编写网络通信代码。 - RPC是实现不同系统间通信的一种有效方式,可以简化网络应用的开发。 **golang(Go语言)**: - Go语言是一种开源的编程语言,由Google开发,用于简化系统软件开发。 - Go语言以其简洁、快速、安全的特性在云计算、微服务架构中得到广泛应用。 **Windows Aim*Historian**: - Windows Aim Historian是Foxboro系统中用于数据记录和管理的软件组件。 - Historian(历史记录器)负责收集和存储过程数据,以便进行历史数据分析和趋势查看。 现在,让我们详细探讨aimapi应用程序的两个主要组成部分: **服务器**: - aimapi的服务器部分是一个RPC服务器。这意味着它可以接受来自网络的调用请求,并返回处理结果。 - 服务器通过特定端口(在此例中为51295)监听客户端发来的请求。 - 服务器端使用了Invensys提供的aimhistory.dll库,这是一个用于与Aim Historian通信的动态链接库。 - NRG_aimapi_wrapper.dll是封装了部分aimhistory.dll功能的另一个动态链接库,用于简化AimAPI的调用。 - 服务器运行在配置有Aim Historian软件的Windows计算机上。 **客户端**: - 尽管文档中没有特别提及客户端的具体内容,但可以推断客户端是用于发起RPC调用,从服务器获取数据的应用程序。 - 客户端可能需要指定服务器的IP地址和端口,并提供必要的认证信息,以便能够访问服务器并请求所需的数据。 总结来说,aimapi是一个为特定工业自动化系统提供数据交互能力的工具。它通过RPC服务器允许用户远程调用AimAPI提供的功能,并通过预先配置的接口与Aim Historian交互。这种交互方式省去了安装额外的复杂软件,简化了数据访问过程,使得开发者能够更加专注于业务逻辑的实现。