2019毕设 · Python与PLC通信第1步 —— Python连接KepServerEX6

Uiaoin 2019-04-11 6926

开始之前,首先介绍一下我的目的及思路:

目的:PLC为主导,通过HMI控制与监测机器人
现有设备:ABB PLC,博乐机械臂(即我们的机器人,包含Python等语言的开发接口)

思路:由于ABB PLC无法直接控制机器人,只能通过中间环节:即中间加一台PC,一方面通过机器人提供的Python开发接口与机器人通信,另一方面通过力控、KepServer实现与ABB PLC的通信,所以只需做通Python与KepServer的通信,就可以实现整套系统的通信了(PLC间接控制机器人)。

Python OpenOPC,我们的主角,闪亮登场了,接下来就是这篇博客的主要内容:OpenOPC的安装与连接KepServerEX6。

1、安装Python,配置环境变量,这个简单,就不写了,需要注意的是,需要32位的Python

2、安装OpenOPC,执行下面脚本

  1. pip install OpenOPC-Python3x

安装完成后我们引入OpenOPC

  1. import OpenOPC

发现没问题,然后我们使用OpenOPC

  1. opc = OpenOPC.client()

发现出现报错了

  1. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\OpenOPC.py", line 155, in __init__ pythoncom.CoInitialize()NameError: name 'pythoncom' is not defined

看到这个,别慌,网上爬了半天,发现缺少pywin32,我们进行下一步

3、安装pywin32

  1. pip install pywin32

安装完成后我们再试一下

  1. opc = OpenOPC.client()

发现没问题了,接下来,我们打印一下可以连接的服务并且进行连接

  1. print(opc.servers()) #结果['CoDeSys.OPC.DA', 'PCAuto.OPCServer', 'Kepware.KEPServerEX.V6']
  2. #然后我们连接KepServerEX6,没有报错,说明连接成功
  3. opc.connect('Kepware.KEPServerEX.V6','localhost')

最后我们打开KepServerEX6,发现也有连接状态,说明Python与KepServer通信是有希望了!


参考博客:https://www.cnblogs.com/shuangpang/p/10653663.html

加载更多