Python实现OPC的读写

Python实现OPC读写

  • Python版本:3.7
    在Python中通过opc ua通讯方式向PLC中读写数据,是可以通过opcua库实现的。

1.安装opcua

首先安装一下opcua。输入以下命令即可。

pip install opcua

image-20210811224124434

2.实现与PLC的交互。

这里我们构造一个客户端实现PLC中变量的读写。PLC中的变量通过UA Expert查看得到:

image-20210811224440176

 from opcua import ua, Client
 
 # 创建一个客户端,需要修改具体的ip地址和端口
 client = Client('opc.tcp://192.168.2.130:4840')
 
 try:
     # 连接客户端
     client.connect()
 
     # 读写一个bool值
     # 寻找节点上的变量
     var = client.get_node('ns=3; s="Mutual"."Vision"."Request"')
     # 通过get_value读值
     print(var.get_value())
     # 通过set_value写值
     dv1 = ua.DataValue(True)
     var.set_value(dv1)
     print(var.get_value())
 
     # 读写一个int值
     var1 = client.get_node('ns=3; s="Mutual"."Vision"."Serial"')
     print(var1.get_value())
     dv = ua.DataValue(ua.Variant(200, ua.VariantType.UInt16))
     var1.set_value(dv)
     print(var1.get_value())
 
 finally:
     # 断开连接
     client.disconnect()

最终的代码结果为:

False
True
100
200

以及PLC中的变量的值为:

image-20210811224616849

至此,实现了PLC中变量的读写。

3.需要注意的地方

主要是再往PLC中写值的时候,注意转换一下写入值的类型,否则无法写入。

  • 3
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值