大家好,又见面了,我是你们的朋友全栈君。
西门子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.总结
这是我第一次的项目总结,很多地方还有不懂的地方,欢迎大家下方留言,一起讨论,一起成长!
最后真切感谢给予帮助的公司同事,学校同学!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151309.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...