OptoBlog

与鞍形系统可能的艺术

发布的 贾尼斯Colmer2023年3月22日9:30:00

groov史诗和groov力拓的产德赢下载品与SCADA系统的无缝集成点火归纳自动化,他们也有一个内置的应用程序编程接口(API)可以用来访问的信息和功能的平台。

亚历克斯·马西的首席执行官鞍形系统如何解释说,在这个艺术可能的客座博客。

groovREST api

在这篇文章中,我们将关注groov管理和groovREST api。具体信息都包含在每个这些api可以找到的光电子的22个开发人员网站。(这篇文章也将与PAC控制REST API如果使用它。)

我们的目标是提取信息可以从安装在您的API规范groov设备,然后生成一个文件可以导入到一个点火项目并使用点火调用脚本环境groovREST API直接从点火。

使用groov管理API与点火可以让你看到你的I / O模块安装,每个通道的信息,读写I / O和MMP(内存映射)地址。这是有用的,如果您正在构建一个工具维护人员得到更详细的信息关于你的公司不仅仅是I / O点,它允许您在点火一切动态和模板化。

没有进入的所有技术细节,光电子22已经记录了这些api使用OpenAPI规范。这种方法给你一个清晰的记录方式的所有功能的API使用一种称为大摇大摆的工具。按照以下链接看到的页面groovREST API进行管理,groov视图REST API。这篇文章中,我们将利用OpenAPI规范连同一个开源工具,称为OpenAPI生成器来生成一个Python版本的API。

通常,您将与API调用交互大摇大摆的文档。调用一个特定的URL的HTTP GET或POST方法,你需要传递任何参数,API将返回相关信息。使用工具在这篇文章中,我们可以提取API为Python文件,将它们导入到点火,然后使用脚本编程接口调用光电子22groovapi。

Corso1


保护的前提

首先,确保你有点火安装在你的电脑和你有一个groov史诗力拓建立与点火装置。注意:如果你使用点火运行在你的史诗或里约热内卢,这些步骤并不是必需的。

接下来,您需要下载的公共证书groov设备。如果你没有创建一个公共证书,先这样做。视图创建一个公共证书的指令。通常这个文件下载“cert.pem”。我们将使用这个文件现在也当我们正在与点火安装后在这篇文章中。

如果你没有在你的电脑上已经安装了Java,做下一个。我们通常使用OpenJDK。点击这里下载最新版本的OpenJDK从他们的网站。一旦你安装了Java,您需要运行一个命令权限提升()命令提示符将公共证书添加到Java证书密钥存储库。

假设你是首次添加证书,默认密码是“changeit”没有引号。

在命令提示符中,输入命令:

keytool - file”导入路径\ cert。pem”别名opto22除

提示输入密码时,使用changeit如果你还没有设置一个密码,然后设置一个新的强有力的密码,并将导入证书。

磨练你的工具

接下来,您需要下载ignition-codegen从鞍形系统Github库工具。这个页面有额外的详细信息我们在这篇文章中描述的任务。大多数的时间是这写剧本,你需要安装一些Python库user-lib \ pylib文件夹在你点火安装文件夹。具体的安装说明都包含在ignition-codegen自述文件

最后,在ignition-codegen README文件,您将会看到一个链接OpenAPI发电机JAR文件。下载这个文件。

一旦你已经下载了ignition-codegen工具,你需要找到你大摇大摆的UIgroov设备。去访问它groov管理主页> > REST api信息和帮助。在这里您将看到链接groov管理和groov查看api,以及groov身份验证服务和PAC控制groov页面。单击groov管理链接看的页面加载。寻找以下链接结束在.yaml大摇大摆页面标题,然后单击它。

我们现在有我们需要的一切生成点火Python资源。

回到ignition-codegen自述文件,您将看到我们需要运行的命令。这个命令在Windows和Mac或Linux略有不同。以下是Windows版本:

java - cp /道路/ / openapi-generator-cli.jar; /路径/ / ignition-codegen。jar org.openapitools.codegen。OpenAPIGenerator生成的
——生成器名称ignition-codegen”
/ / openapi——input-spec /路径。yaml的
——generate-alias-as-model输出。/ Opto22API

对于一个真实世界的例子,这是我们跑在写这篇文章的命令:

java - cp openapi -发电机- cli 7.0.0 - 20220526.055920 - 1. - jar; ignition-codegen-openapi-generator-1.1.2。jar org.openapitools.codegen。OpenAPIGenerator生成——生成器名称ignition-codegen——input-spechttps://10.18.15.99/manage/public/static/swagger/manage-api-public.yaml——generate-alias-as-model C:\Users\Alex\Downloads\Opto22API输出

文档是关键

运行这个命令创建文档。邮政编码”和“项目。”zip文件中指定的目录上面的输出参数。

文档。zip文件包含大摇大摆的Python版本的UI,给你信息(包含在减价文件)对每个API调用和如何使用它们。作为练习,把这些文件和创建一个角度页面使用减价组件来查看它们。

DefaultApi。md docs.zip文件的特殊利益团体。这描述了可用的所有API调用,以及示例代码如何使用Python脚本在点火。

下一步是开放的一个设计师,或者打开一个现有的项目你想Python API文件导入,或创建一个新项目。在点火设计师去文件>导入,导入项目。zip文件,和进口的一切。保存您的项目,你几乎准备好了。

Corso2

Corso3

接下来,您将需要为用户生成一个API密匙对groov如果你还没有设备。这个过程生成的描述这个API键REST API开始页面。一旦API键,让它帮助你将需要调用API从点火。

你还需要把cert.pem之前下载的文件可以从点火的地方。为了简单起见,我们把它放在点火安装目录数据\ \ cert的证书。pem文件夹。只是前面下载的文件复制到该目录,或其他目录安装在电脑上,点火。

为您需要编写的代码的例子,寻找DefaultApi。md文件文档。zip文件。这个文件详细描述了所有可用的API调用,使用示例代码可以使用访问其中的任何一个。

我需要这些代码

在这个例子中,我们将使用get_channel_descriptions()调用。你可以看到原始的调用光电子22开发者页面

Corso4

对于我们的目的从DefaultApi代码。md文件看起来是这样的:

从__future__进口print_function
导入的时间
进口openapi_client
从openapi_client。其他进口ApiException
从pprint进口pprint
#输入上下文API客户机的一个实例
api_client openapi_client.ApiClient(配置):
#创建API类的一个实例
api_instance = openapi_client.DefaultApi (api_client)

试一试:
api_response = api_instance.get_channel_descriptions ()
pprint (api_response)
除了ApiException e:
打印(“例外当调用DefaultApi - > get_channel_descriptions: % s \ n ' % e)

如果你想进入配置文件和手动设置值,您可以使用此代码就像在任何脚本环境中点火:按钮按下,标签事件脚本,网关事件脚本,等等。或者像我们展示在这个例子中,在脚本的控制台,我们直接构建配置对象:

从__future__进口print_function
导入的时间
进口openapi_client
从openapi_client。其他进口ApiException
从pprint进口pprint
从openapi_client。配置进口配置
从openapi_client。api_client进口ApiClient

配置=配置(
api_key = {apiKey”:“fLEVdxaiK3igQZEN9bgd8zq8DVVHF4Jb”},
ssl_ca_cert = " C: \ Program Files \归纳自动化\点火\ data \ \ cert.pem”证书
)
#输入上下文API客户机的一个实例
api_client openapi_client.api_client.ApiClient(配置):
#创建API类的一个实例
api_instance = openapi_client.api.default_api.DefaultApi (api_client)
试一试:
# api_instance.get_channel_descriptions api_response = api_instance.get_channel_descriptions () ()
打印(api_response)
除了ApiException e:
打印(“例外当调用DefaultApi - > get_channel_descriptions: % s \ n ' % e)

在上面的代码中可以看到,我们设置配置对象存储API的关键groov管理页面,并绘制了公共证书文件的下载groov史诗和把它放在数据\证书在我们的点火安装目录文件夹。

像预期的那样大摇大摆的文档,这段代码返回一个JSON对象的描述所有频道的频道groov史诗:

Corso5


结束

groovREST api是强大的工具,用于任何光电子22的旗舰产品。德赢下载通过API,您可以获得的信息设备的配置除了数据I / O渠道甚至处理的一些基本网络配置任务。

结合REST API的力量与Python脚本在点火使用OpenAPI容易做到规范的支持OpenAPI发电机。

我们希望这能给你一个坚实的基础建立在你的光电子22和点火项目!

——亚历克斯·马西
首席执行官、鞍形系统

亚历克斯·马西的创始人和首席执行官鞍形系统专门研究点火的系统集成商,光电子22日和制造执行系统。他重视建立一个多样化的团队准备制造解决任何问题可以扔。

AlexMarcy_CorsoSystems

主题:groov史诗,点火,艺术的可能

写的贾尼斯Colmer

珍妮丝在光电子的22个工作了超过16年,是营销团队的一部分,努力与自动化行业分享新的和相关内容。她喜欢书、露营、乡村音乐和花时间与家人和朋友。
找到我:

    订阅电子邮件更新

    最近的帖子

      文章的主题

      看到所有