PLCnext Technology 新闻资讯 行业 学习 创客博客 论坛
新闻资讯
PythonSDK 助力 PLCnext 实现智能化应用
2022-11-07 16:14:00
2076 次观看

PHOENIX

CONTACT

方案展示

开发背景

随着当今工业信息化应用的普及,技术学习门槛的降低,越来越多的智能化案例在工业自动化中崭露头角。

Python 语言作为当今实现智能化的首选语言,逐渐被大家认可及掌握。为了方便用户在 PLCnext 实际应用场景中使用 Python 语言进行各种业务交互,现在推出基于 Python 语言的通信SDK,使得我们的应用程序可以方便快捷地与 PLCnext 进行数据通信。

本篇文章介绍 PythonSDK 的基础用法,如何通过 Python 与 PLCnext 进行控制与变量通信。为后续基于 Python 语言的其他应用奠定基本的通信基础。

通过 Python 语言不仅可以开发智能化应用程序,而且可以开发网络通信,高级数据库应用,文件读写,操作日志审计等一系列应用程序,但这些应用都需要Python程序与PLCnext 交互这个基本环节。

本文所述的 PythonSDK 是基于 PLCnext RSC 协议的 Python 实现,同理,还有C\C++、C#、Java实现版本。另外,PLCnext 也推出了基于 gRPC 的 RSC 实现方案,使得用户可以使用各种语言与控制器之间采用RSC协议。

RSC协议是 PLCnext 控制器的专用通信协议,类同西门子的S7协议,由厂家负责维护。通过该协议,除了可以实现基本的变量通信外,还可以实现对控制器的管理与控制。

01

协议对比

通用的工业协议,例如 OPC UA 、Modbus 等,与本文所要介绍的 PythonSDK 相比的异同点是什么呢?

通用协议

通用性

功能描述

OPC UA

常规变量通信或者方法调用,需要在控制器编程时对所需通信变量勾选设置,资源消耗略高

Modbus

常规变量通信,需要在控制器上编程实现协议与变量的适配,资源消耗低

RSC

无需设置,可以直接读写控制器编程空间中的任意变量,可以对控制器进行管理与控制,读取控制器每个扫描周期的变量趋势

综上对比,RSC 协议不是工业通信的标准协议,但具有使用简便,效率高,功能多样化等特点。

使用 PLCnext 控制器,可通过 RSC 协议与控制器进行无缝数据通信或控制,最大度满足严苛与复杂交互需求。

02

开始使用

使用指令 $ pip install PyPlcnextRsc 即可下载Python SDK

建立连接

在 Python 程序中,可通过以下两种形式与PLCnext连接。

数据交互

建立连接后使用 Data Access Service 进行变量读写。针对非自定义的符合 IEC61131-3 标准的数据类型(BOOL, REAL, INT, STRING等),可使用 ReadSingle 进行单个变量的读取,或使用 Read 进行多个变量的读取。

也可使用 WriteSingle 或 Write 对变量写值。

如使用用户自定义的结构体或数组,可以通过DataTypeStore工具创建和IEC61131-3程序中对等的变量并进行读写。

PLCnext操作及状态监测

Python SDK 可读取 PLCnext 的状态(如 CPU 负载、内存占用情况、固件版本、报警灯、MAC 地址、温湿度等),或与 PLCnext 进行文件的读写,以及控制 PLCnext 停止、冷启等,例如使用下图中的程序完成 PLCnext 的冷启。

以上为 Python SDK 的基础使用方式,更多功能介绍以及使用样例参见:

https://pyplcnextrsc.readthedocs.io/

媒体报道

联系我们

技术支持热线:
400-828-1555 (工作时间)
138-5165-0600 (7*24小时)

#plcnext

#iamplcnext

菲尼克斯官方公众号

打破边界 成就自我

查找有趣想法和解决方案的用户故事和应用 - 或添加您自己的体验

Copyright © 2022 PHOENIX CONTACT All Rights Reserved.苏ICP备14032783号-1