什么是S7通讯?
S7通信是一个基于以太网与S7系列的西门子PLC通讯的开源库。支持包括S7系列的S7-200、S7-200Smart、S7-300、S7-400、S7-1200以及S7-1500的以太网通信。S7通讯是S7系列PLC基于MPI、PROFIBUS和工业以太网的一种优化的通讯协议。
若第三方设备支持西门子S7协议,该如何进行相应的设定?
Zui近遇到通讯问题,为第三方设备支持S7通信,与S7-300PLC通讯连接不上,通讯报错,该如何进行设定?拨打西门子400电话,现在都是需要进行预约,时间点不合适,直接pass。全网搜索,没有获取有用信息,西门子官网的资料都是西门子PLC之间进行通讯,没有参考价值。
猜想1:300PLC侧需要创建S7链接?
按照官网资料创建S7链接,尝试通讯,仍报错!
资料如下:
在STEP7中创建一个新项目,项目名称为S7-300-SMART。插入1个S7-300站,在硬件组态中插入CPU 315-2PN/DP。如图4所示。
图4 STEP7 项目中插入S7-300站点
设置CPU315-2PN/DP的IP地址:192.168.0.1,如图5所示。硬件组态完成后,即可下载该组态。
图5 设置CPU PN IP地址
打开“NetPro”设置网络参数,选中CPU315-2PN/DP,在连接列表中建立新的连接。步骤如图6所示。
图6 NetPro组态视图中插入新连接
选择 Unspecified 站点,选择通讯协议 S7 connection,点击Apply,如图7所示。
图7 组态新连接
在弹出的S7 connection属性对话框中,勾选 Establish an active connection,设置Partneraddress:192.168.0.2(S7-200 SMART PLC IP 地址),如图8所示。
图8设置S7连接参数
点击 "Address Details" ,再弹出来的对话框设置 Partner 的 Slot 为1,如图9所示。点击OK即可关闭该对话框。
图9设置“address details”参数
网络组态创建完成后,需要编译,如图10所示。
图10 保存并编译连接
网络组态编译无错,鼠标先点击 CPU 315-2PN/DP,然后点击下载按钮下载网络组态,步骤如图11所示。
图 11 下载组态连接
如此建立与第三方设备的S7通讯不成立!
猜想2:需要使用功能块,建立GET,PUT?
由于第三方不是西门子产品,创建不成立。
原理分析:
S7通讯属于单边通讯,只需要在一侧组态创建即可。一方为西门子PLC,一方为第三方设备,第三方设备支持西门子S7协议,因此要以它为主,设定方应该是第三方设备!
那么第三方设备侧需要哪些设定?从下图中可以看出一些端倪。
那就是从侧的站点、槽号。
在地址详细信息对话框中填写通信伙伴CPU的机架号和槽号,如通信伙伴是S7-300/400CPU则槽号为2,如通信伙伴是S7-1200/1500 CPU则槽号为1。
因此在第三方设备里,需要准确设定CPU的槽号!
结果:
设定一致后,通讯正常。第一次遇到这种问题,当时是很懵逼的!希望能对遇到此类问题的有所启发!