zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

西门子PLC连接SimatcNet OPC服务器

服务器连接 plc 西门子 opc
2023-06-13 09:11:42 时间

大家好,又见面了,我是你们的朋友全栈君。

西门子PLC连接SimatcNet

这是我第一次帮公司做关于上位机连接PLC的项目,很多坑都提前为大家踩好。

1.OPC原理

关于OPC原理大家可以自行百度,我也不太懂,大概就是一个PLC的服务器吧,可以将PLC中的数据点进行检测,读取等功能,然后还能和OPC客户端连接,客户端可以通过OPC服务器对PLC中的数据进行修改。大概就是下面这个意思。

2.SimaticNet的获取与安装

这里提供一个百度云盘的地址给大家使用https://pan.baidu.com/share/initsurl=dEFMKoT 网盘密码是cqcp,我们用的是SimaticNetV13版本。 这个软件的安装也是很简单的,直接解压后一步步安装就行了。下面讲一下安装这个软件时经常出现的问题:

这种情况一般是卸载不干净,使用以下解决办法

安装好了之后,打开开始=>所有程序,就会出现下面的程序选项

3.XDB文件生成

这里XDB文件的生成参考我们师兄提供给我的方法,XDB文件相当于一个配置文件,上面主要信息是plc和上位机的地址和连接方式,只要有博图软件就可以生成: 1.添加PLC、上位机设备

本例中选的是西门子IPC,如果是普通电脑或研华工控机,选常规PC

2.设置PLC IP

3.勾选PLC属性》保护》连接机制》允许来自远程的连接

4.在上位机组态中加入“OPC服务器”;如果是普通的电脑或者研华工控机,还要添加“常规IE”

注意OPC服务器的软件版本,要V13或V12,要是你安装的OPC版本

5.勾选OPC服务器》属性》S7》OPC变量》全部

6.选中上位机一个网口(如果是一般的电脑或者研华工控机,则是用常规IE的网口),分配给PC Station

7.设置该网口的IP地址

8.将PLC与上位机连在一个子网内

9.选择“连接”,在OPCServer上右键选择“添加新连接”

10.选择S7连接

11.不选择任何通信伙伴,直接点击“添加”

12.在网络视图下,点击“S7_Connection_1”,弹出属性窗口

13.在“常规”下填入PLC的IP地址

14.在“地址详细信息”下填入PLC的插槽号(一般为1,在PLC组态中可以看到)

15.勾选上位机属性》XDB组态》生成XDB文件

16.对上位机进行编译,即生成XDB文件

4.连接PLC

现在就是导入DBC文件链接PLC了 1.导入XDB文件,先打开这个软件,

点击导入站,英文应该是import station,选择生产的dbc文件,之后等两分钟,链接建立成功。我这个上面是没连接上的实例,以后有机会我再附上正确的示例图。正常连接时,状态应该不是出现红叉的。 2.监控数据点 导入DBC文件后,我们打开

OPC Scout V10这个软件,点击第一个SimaticNet连接点。下面有S7:这个选项,如果DBC文件导入正确的话,点击会发现下面有一个S7_Connection_1这个选项,点击进去选一个数据点进行检测,在后面输入MX1.5既可以检测CPU心跳,

前面的System只是我的实例,正常应该是S7_Connection_1之类的, 这里提一下检测STRING的格式为DBXXXSTRINGXX.n后面的n为这个STRING的长度,切记! 我们所有的监测点都需要自己手动建立,如果出现下述问题

一般为数据点定义错误,或者就是plc没有连接上。数据点定义问题,先排除是否为PLC那边定义错误,然后再检查自己的格式问题。

5.上位机连接OPC服务器

这里上位机连接OPC一般是采用网上常用的OPCClient的创建,这里就不详细描述了。向大家提供一个常用报错代码的解决办法: 0xC0040007

这个报错可是困扰了我很久,一般在添加plc标签的时候会出现这个报错代码,大致意思是plc中没有正确定义这个标签。出现这种情况1.检查其他标签,如果存在能够正常添加的便签,那就说明plc的连接性没问题,是我们的标签格式问题,自己检查格式2.就是没有正常连接plc,用scout这个软件检测一下CPU心跳在作判断。

6.总结

这是我第一次的项目总结,很多地方还有不懂的地方,欢迎大家下方留言,一起讨论,一起成长! 最后真切感谢给予帮助的公司同事,学校同学!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151309.html原文链接:https://javaforall.cn