西门子PLC连接SimatcNet OPC服务器
大家好,又见面了,我是你们的朋友全栈君。
西门子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
相关文章
- Linux下svn服务器迁移
- PyQt5可编辑下拉框(comboBox):editable - python TCP服务器v1.5 - 客户端连接界面增加自定义参数(设置超时, 连接地址可选)
- (本地无法连接MySQL服务器)ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
- 教你如何linux通过跳板机连接远程服务器并进行文件传输
- Linux服务器运维技能,高效稳定运行网络系统(linux服务器运维)
- 从远程连接MySQL服务器:以Linux系统为例(linux远程连接mysql)
- 配置优化MySQL服务器配置文件优化实践(mysql.cnf)
- 使用Nginx连接Redis服务器(nginx连接redis)
- 快速连接Oracle服务器:把数据库开发简单化(连接oracle服务器)
- 连接轻松搞定远程MySQL服务器连接(远程mysql服务器)
- windows系统服务器安全设置建议
- 修改MySQL服务器时间的方法实录(修改mysql系统时间)
- 服务器如何快速连接MySQL远程数据库服务器(怎么连接远程的mysql)
- 搭建Linux系统下的NTP服务器(linux下ntp服务器)
- 构建你的下一代业务:Linux 服务器系统(服务器系统 linux)
- 解决Oracle服务器关闭监听的问题(oracle关闭监听问题)
- 安装宝塔,一键Apt安装MySQL服务器(apt安装宝塔mysql)
- 每秒钟 快速连接 Redis服务器(每秒连接一次redis)
- Web无法连接Redis服务器(web连不上redis)
- 使用SSH安全连接到Redis服务器(ssh连接到redis)
- MySQL数据库无法连接检查是否安装在服务器上(mysql 不在服务器)
- 部署Redis服务器极致性能配置实践(redis部署服务器配置)
- 器Redis连接让服务器更快捷(redis连接到服务)
- Session服务器配置指南与使用经验的深入解析