亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

优化 PLCnext REST API:搭建反向代理

PLCnext REST 接口是向后端系统展示和接收数据的绝佳工具。REST,即表述性状态转移,是创建可扩展 Web 服务的指导原则和最佳实践的软件架构风格。PLCnext 信息门户 已有大量优质信息,请查阅!固件提供的 URI 适合从零构建系统。但若想在 PLCnext 上改造现有 REST 接口则不理想。本博客展示如何搭建自己的 URI 并通过反向代理连接变量。从小例子入手!

先决条件

我用 AXC F 2152 控制器,FW2020.6 和 PLCnext Engineer 2020.6。但 2020.0 后版本应同样可行。我用 PuTTY 建立 SSH 连接,Postman 处理 HTTP 请求。为开发方便禁用了认证,生产环境切勿如此!PLCnext Engineer 指令仅高层级,不确定做什么?查阅 PLCnext 信息门户和教学视频或对比样例项目!我用的控制器 IP 192.168.10.10,请改为您的 IP。

示例

本博客以简单泵 UDT 为例。可从 GitHub 页面 下载样例程序,或自建。在 eHMI 设置关闭 “user management” 并创建全局变量。在 eHMI 页面使用此变量以便 API 使用。

第一个 API 调用

也许先看看我们马上要改什么!
发送 GET 请求获取第一个泵的值。

用 Postman 发送 GET 请求到以下 URI:

GET https://192.168.10.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1

(可将 Pump1 改为您的变量)

结果:

{
"apiVersion": "1.4.0.0",
"projectCRC": 3448945666,
"userAuthenticationRequired": true,
"variables": [
{
"path": "Arp.Plc.Eclr/Pump1",
"value": {
"xStatus": false,
"iNumberOfStarts": 0,
"sStatus": ""
}
}
]
}

设置自定义端点

打开 Shell 会话,创建 root 密码并以 root 登录。
在终端输入下一命令,到终端 “底部” 小心别在同时输入别的!

nano /etc/nginx/nginx.conf

复制粘贴下一部分到终端,Ctrl+S 保存,Ctrl+X 关闭。

location /Pump1 {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1;
}

向新端点发送请求

用 Postman 发送新 GET 请求到下一 URI:

GET https://192.168.10.10/Pump1

收到相同回答?恭喜您的代理设置成功!

设置多个泵

好,但我有多个泵怎么办?一种方法是建数组装泵 UDT。调用变量获取整个数组,或指定索引获取单元素,如 Pump2[1] 获取名为 Pump2 数组索引 1 的元素。

但那不是本博客主题。我们也可设置代理访问多个泵。
修改前文粘贴文本匹配下一模式:

location /pumps {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr;
}

用 Postman 发送 GET 请求到第一个 URI 得到如前相同结果。发送到第二个 URI 得到相同数据类型的数组。

https://192.168.10.10/pumps/Pump1
https://192.168.10.10/pumps/Pump2

现在您拥有一切,可匹配任何 API 方案并集成到 PLCnext 设备!

延伸阅读

https://www.howtogeek.com/343877/what-is-an-api/

https://www.w3schools.com/tags/ref_httpmethods.asp

https://medium.com/@TebbaVonMathenstien/what-is-an-api-and-why-should-i-use-one-863c3365726b

https://restfulapi.net/rest-api-design-tutorial-with-example/


工业技术

  1. 发现 CONNEX™:制造商的首选供应链网络平台
  2. 成为首选:B2B采购成功的26项核心清单
  3. 国防行业获客数字营销策略:从认证展示到精准触达
  4. 中小制造商为何要出口:核心收益与实操入门指南
  5. 逆向物流优化释放价值:提升ROI与客户忠诚的实战指南
  6. 反向拍卖复兴:在价格战中赋能供应商的新逻辑
  7. 最大化效率:仓库扫描系统专家优化指南
  8. 最大化线索生成投资回报率
  9. 工业4.0采纳:西班牙与全球格局对比
  10. 掌握边缘 AI 推理:获取可落地洞察的实战指南
  11. 智能家居演进:未来连接生活展望
  12. 热固性 vs 热塑性:核心差异与应用场景全解析