技术论坛

 S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

返回主题列表
作者 主题
BT
侠圣

经验值: 4788
发帖数: 146
精华帖: 3
楼主    2017-01-11 21:20:44
主题:S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯 精华帖 

   2013年6月19日, 我发了一个标题为《S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯》的求助帖,详细内容见http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1078800&b_id=4&s_id=23&num=0#anch 当时查看坛友很多,就是没有一个人回答,后来不停的研究,查阅相关资料,终于通讯成功了,之后自己就总结了实践的过程,形成了一份图文并茂的文档,现分享给各位坛友,欢迎指点,交流。全文如下:

                       S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

1. S7 通信简介

S7 通信是S7 系列PLC 基于MPI、PROFIBUS、ETHERNET 网络的一种优化的通讯协议,主要用于S7300/400PLC 之间的通信。SIMATIC S7-PN CPU 包含一个集成的PROFINET 接口,该接口除了具有PROFINET I/0 功能,还可以进行基于以太网的S7 通讯协议。SIMATIC S7-PN CPU 支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图1,图2 所示。本文以单边编程通信进行说明。

若单边通信设置在S7-300 集成PN 口这端时,功能块的调用如图1 所示




若单边通信设置在S7-300+CP343-1 模块这端时,功能块的调用如图2 所示


要通过S7-PN CPU 的集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。

2. 硬件及网络组态

CPU 采用一个315-2PN/DP,另一个315-2DP+CP343-1 模块,使用以太网进行通信。在STEP7 中创建一个新项目,项目名称为PN S7。插入两个S7-300 站,在硬件组态中分别插入CPU315-2PN/DP 和CPU315-2DP.如图所示,分别组态两个系统的硬件模块:






注意事项:选择以太网的时候应该选择刚才组态第一个站的时候新建的网络Ethernet(1),从而保证两个PLC 在同一个以太网内。

分别下载各自的硬件组态到相应的PLC 中。

3. 建立通信链接通道

前面的硬件组态只是保证了PLC 能够通过通信处理器模块到工业以太网内,并且配置了CP343-1 的IP 地址,输入/输出地址。而工业以太网采用的TCP/IP协议,是基于一种可靠的连接进行通信的。也就是说,通信双方还没有建立一个通信的通道,CPU 也就无法知道到底在和谁在通信,采用什么样的协议通信。因此,为了能够顺利通信,必须在以太网的各个站点之间建立通信链接通道。西门子的工业以太网支持的连接主要有S7 Connection、TCP/IP、ISO-ON-TCP 等。

在项目管理器界面下单击组态网络按钮,出现下图所示组态界面。


右击其中一个站的CPU(315-2PN/DP),在出现的选项中选择“插入新连接”后,如下图所示。


选择框内已组态的站点,在连接类型中选择S7 连接,单击确定按钮,出现S7属性对话框:


在常规信息标签内,这里需要用户记住连接的标识号(ID),并且单击“单向”,单击“确定”按钮,可以看到在组态网络图下半部分第一行出线一个连接,这个连接包括ID 号、通信双方的CPU 的型号,连接激活状态和连接的类型等信息。因为是单向连接,连接表中没有通信伙伴的ID,选中站点CPU315-2DP 所在的小方框,连接表中没有连接信息。


 

建立好连接后选择图中的第一个站的CPU,保存,编译,单击下载按钮;然后在选择另一个站的CPU 下载。在S7 单向连接,CPU315-2PN/DP 和CPU315-2DP 分别作为客户机(Client)和服务器(Server),客户机调用单向通信功能块GET和PUT,通过以太网和S7 通信,读,写服务器的存储区。服务器是通信中的被动方,不需要调用通信功能块。至此,已成功建立一个基于S7 连接的小型工业以太网。下面以该以太网为基础通过编程来实现数据的共享和通信。

注意事项:S7-300 站点是否能作S7 通信的客户机或建立S7 双向连接,与CPU和以太网CP 的订货号和固件版本号都有关系。

4. 软件编程(单边访问)

可以通过FB14“GET”,从远程CPU 中读取数据。在REQ 的上升沿处读取数据。在REQ 的每个上升沿处传递参数ID、ADDR_1 和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1 和RD_1 参数。通过状态参数NDR 数值为1 来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU 可以处于RUN 或STOP 工作状态。如果正在读取数据时发生访问故障,或者如果数据类型检查过程中出错,则出错和警告信息将通过ERROR 和STATUS 输出表示。

通过使用FB15“PUT”,可以将数据写入到远程CPU。在REQ 的上升沿处发送数据。在REQ 的每个上升沿处传递参数ID、ADDR_1 和SD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1 和SD_1 参数。如果没有产生任何错误,则在下一个FB 调用时,通过状态参数DONE 来指示,其数值为1.只有在最后一个作业完成之后,才能再次激活写作业。远程CPU 可以处于RUN 或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR 和STATUS 输出表示。

打开CPU315-PN/DP 的OB1,在OB1 中依次调用FB14,FB15 如图所示,插入两个共享数据块DB1 和DB2,在CPU315-2DP 站点中插入两个共享数据块DB3 和DB4。

 



 

 编译下载程序,通过变量表监视可以看到运行结果。

活到老,学到老!
RENHQ
至圣

经验值: 68539
发帖数: 12105
精华帖: 59
1楼    2017-01-11 21:36:30
主题:回复:S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

感谢分享

在资源中心里面好像有不少类似的文章可以参考啊~

你的帖子太早了,要是最近问的话,我会给你发下面的文档》。。。

楼主专研精神值得学习~

SIMATIC S7-300/400 PLC以太网通信之一

https://support.industry.siemens.com/cs/cn/zh/view/109481278

SIMATIC S7-300/400 PLC以太网通信之二

https://support.industry.siemens.com/cs/cn/zh/view/109481275

SIMATIC S7-300/400 PLC以太网通信之三

https://support.industry.siemens.com/cs/cn/zh/view/109481276

S7-300和S7-400集成PN口的S7通信

https://support.industry.siemens.com/cs/cn/zh/view/90467649

以太网的S7通信 (集成PN接口的CPU和CP)

https://support.industry.siemens.com/cs/cn/zh/view/109481347

通过CP343-1模块,如何实现2套S7-300之间的以太网通讯

https://support.industry.siemens.com/cs/cn/zh/view/83104160


Q群:https://jq.qq.com/?k=9BDuEgf6
威师爷
至圣

经验值: 37384
发帖数: 5126
精华帖: 47
2楼    2017-01-11 22:08:07
主题:回复:S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

这个可以在西门子的资源库下载资料,或者在视频学习中心观看!

有很多这方面的例子!

工业起重机防摇摆 QQ:404136820 AntiSwayControl
Haohaobb
至圣

经验值: 15813
发帖数: 1644
精华帖: 39
3楼    2017-01-12 16:41:23
主题:回复:S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

pn端建s7的连接,并单边编程 不就行了?

天道酬勤
gelu172
至圣

经验值: 11672
发帖数: 1354
精华帖: 32
7楼    2017-01-18 13:42:26
主题:回复:S7-300 集成PN 口与S7-300+CP343-1 模块的以太网通讯

 

支持下,点赞


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。