python opcua 模块签名加密通讯教程
第一章 Python 通过opcua模块进行通讯搭建
搭建流程
通过SIEMES博途配置OPCUA服务器,并启动PLC仿真完成OPCUA服务器的搭建
通过Python pip安装OPCUA模块,搭建OPCUA客户端进行通讯
教程目标:
1、通过OPCUA加密及签名认证建立OPCUA通讯
2、获取服务端Node节点,并导出为json文件
3、获取节点数值
4、更改节点数值
action: 你需要了解SIEMENS plc博途plc项目创建流程及组态
一、搭建SIEMENS plc OPCUA服务器
1、在博途软件中创建SIEMENS 1500系列plc项目,并激活OPCUA服务器

2、配置SIEMENS OPCUA 服务器

3、配置OPCUA通讯安全策略
## 4、配置用户认证

5、配置客户端证书

6、启动仿真,启用opcua服务器
启动仿真前提是博途软件已经成功安装PLCSIM Advance

7、配置仿真环境
设置plc实例名称、ip地址、子网掩码及plc系列型号,点击start;
实例启动完成后,需要在博途中点击在线,搜索plc,并将项目下载到plc实例中,启动plc完成OPCUA服务器搭建工作

8、仿真环境搭建完成验证
可以通过UAExpert调试工具对OPCUA服务器通讯进行验证
二、调试python代码进行客户端搭建
本文以OPCUA模块搭建OPCUA通讯基本搭建,最新的OPCUA模块建议选择opcua-asnicio;
如果你对python异步陌生,那OPCUA通讯仍可适用
1.pip安装opcua模块
通过pip install opcua来为python 环境安装模块
建议通过虚拟环境安装模块
2.编写python代码
代码如下(示例):
import time
from opcua import Client, ua
import json
# opcua client class
class OpcuaClient:
def __init__(self, url: str,
user_name: str = None,
user_password: str = None,
basic256: bool = False,
sha256: bool = False,
cert_path: str = None,
key_path: str = None,
application_uri=None
) -> None:
self._url = url
self._client = Client(url)
if user_name and user_password:
self._client.set_user(user_name)
self._client.set_password(user_password)
if basic256 and not sha256:
self._client.set_security_string("Basic256,SignAndEncrypt,None,None")
if sha256:
self._client.set_security_string(

最低0.47元/天 解锁文章
7788

被折叠的 条评论
为什么被折叠?



