实验三 CP342-5作为从站和FC1(DP_SEND)FC2(DP_RECV)的应用
S7-300样图
1) 目的
CP342-5作为从站和FC1(DP_SEND)/FC2(DP_RECV)的应用
2) 实验内容
利用 标准库\通信块 中的FC1″DP_SEND”和FC2″DP_RECV”,将CP342-5作为从站,实现其与主站的Profibus DP通信。
3) 实验流程
新建项目,首先完成主站的硬件组态,插入CPU 315-2 PN/DP,将操作模式选择为DP master,并新建Ethernet(1)网络和Profibus(1)网络,如下图所示。
图1-新建项目
然后完成从站的硬件组态,插入CPU 314C-2 PN/DP和CP 342-5,选中CP 342-5,将操作模式选择为DP slave,同处于Ethernet(1)网络和Profibus(1)网络,如下图所示。
图2-将操作模式选择为DP slave
在DP_Master的HW Config中将已组态的DP_Salve拖放至PROFIBUS(1)网络,如下图所示。
图3-拖放至PROFIBUS(1)网络
将DP_Salve拖放至PROFIBUS(1)网络时,需将该站与主站进行Couple,如下图所示。
图4-需将该站与主站进行Couple
选中挂在PROFIBUS(1)上的DP_Salve,再选择地址,(这个是CPU的实际地址)如下图所示。
图5-再选择地址
注意:1、如果在定义上述I区Q区时,如果每个模块不是按照从小到大的顺序定义而是比如:I区定义为7-15–0-6—16-23的顺序,那么从从站CPU发送过来的24个字节是按照槽位号在前先放的顺序来传数据的,也就是说把CPU的24个字节从第一个开始先填满7-15,在去填满0-6的顺序来存放数据(按照槽位号填);
2、 I区总长度和从站CPU定义的发送区长度必须相同,同理Q区也一样。
3、 对于I、Q区的起始地址为多少,中间是否有空(比如定义7-15–3-5)都没有影响,对从站CPU定义发送区是否要从3开始来对应也没有影响,只需要两个的区域大小相同就能实现传递。
(因为此处没有MS来定义数据对应区,所以就需要限制长度对等问题,同时也因为没有MS,所以其实地址也就没有了限制,只要保证长度相等即可。)
Slave站编程(只需要在CP一侧的CPU中编程)
建立一个变量表监控(因为我使用的是M区,所以不需要建立DB块)
与上述编程相同,在OB1中调用标准库\通信块 中的FC1″DP_SEND”、FC2″DP_RECV”,实现主站与其从站的Profibus DP通信。
图6-编程
Master站编程
分别选中主站和从站,编译下载,使CPU正确运行。新建变量表来监控主站和从站DB块数据的变化。
图7-新建变量表来监控
4) 总结
1. 如果对各类组态中的参数有调整,一定要记得先全部编译再下载,大多数情况就是由于中途修改了设置,没有编译就下载就很容易出错又很难发现。
2. 在FC1和FC2指令中的CLADDR管脚处参数为CP342-5的起始地址,要注意换算为16进制。
3. 本次实验内容可以在全球技术支持中心中搜索文档编号7764609的文档,该文档极具参考价值。同时也可参考92073760(CP342-5的使用与常见问题)。
敬请期待下一篇-通讯进阶篇—使用CP342-5的程序诊断
PS:友情提醒,所有文章属于一个系列,顺着看效果更好,欢迎大家翻阅我之前所写文章。欢迎大家关注工控谭俊豪,该系列会持续更新~
作者简介
谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生
本文为原创文章,于头条首发,欢迎关注转载,请注明出处和作者!