1. CP342-5 作主站与FC1(DP_SEND), FC2(DP_RECV)的应用
CP342-5 是S7-300 系列的PROFIBUS 通讯模块, 带有PROFIBUS 接口, 可以作为PROFIBUS-DP 的主站也可以作为从站, 但不能同时作主站和从站, 而且只能在S7-300 的中央机架上使用, 不能放在分布式从站上使用。由于S7-300 系统的I 区和Q 区有限,通讯时会有些限制;而用CP342-5 作为DP 主站和从站不一样,它对应的通讯接口区不是I 区和Q 区,而是虚拟通讯区,需要调用FC1 和FC2 建立接口区,下面以例子来介绍CP342-5 作为主站的使用方法。
2.所需硬件和软件
软件: STEP 7 V5.2
硬件:
1.PROFIBUS-DP 主站带CP342-5 的S7-300 CPU315-2DP
2.从站选用ET200M
3.MPI 网卡CP5611
4.PROFIBUS 电缆及接头
3. 网络配置图
带CP342-5 的S7 CPU315-2DP 的网络配置图如下图所示:
CP342-5 ET200M
此组态实例是选用CP342-5 接口作为主站和ET200 M 组成PROFIBUS 网络。首先,将CP342-5 插在S7-300 的中央机架上,用一条PROFIBUS 总线将CP342-5 和ET200M 相连接。
4. 组态
打开SIMATIC MANAGER 软件,在FILE 菜单下选择NEW 新建一个项目,在NAME 栏中输入项目名称,将其命名为“CP342-5_master ”,在下方的Storage Location 中设置其存储位置,如下图:
在项目窗口的左侧选中该项目,按右键在弹出的下拉菜单中选择Insert New Object 和SIMATIC 300 Station 插入一个S7-300 站,则插入的S7-300 站即显示在右侧的窗口。
双击SIMATIC 300 Station 目录下的hardware 图标,打开HW configuration 进行硬件组态。在HW configuration 主界面的右侧按实际硬件安装顺序完成系统硬件组态。在菜单栏中选择“View”菜单,并在下拉菜单中选择“Catalog”打开硬件目录;在左侧目录中打开SIMATIC 300 文件夹,在RACK-300 下选择一个机架,把选用的机架拖到屏幕的左上方。同时在2 号槽和4 号槽分别插入CPU 和 CP342-5 模块。在配置CPU 时,会自动弹出一个对话框,此时不用做任何设置,直接点击OK 即可。由于在该实例中,将CP342-5 作为主站,配置CP342-5 网络设置时,先新建一条PROFIBUS 网络,然后组态PROFIBUS 属性如下图:
本例中选择传输速率为“1.5Mbps”和“DP”行规,无中继器和OBT 等网络元件,点击“OK”按钮确认。然后定义CP342-5 的站地址,本例中为2 号站,加入CP 后,双击该栏,在弹出的对话框中,选择“Operating Mode”标签,选择“DP master”模式,如下图:
点击“OK”按钮确认主站组态完成。组态从站:在HW configuration 主界面中,在右图中选择PROFIBUS DP ® DP V0 Slaves ® ET200M 如下图所示,并为其配置2 个字节个输入和2 个字节输出点,输入输出点的地址从0 开始,是虚拟地址映射区,而不占用I 区和Q 区,虚拟地址的输入区在主站上要调用FC1 (DP_SEND) 与之一一对应,虚拟地址的输出区在主站上要调用FC2 (DP_RECV) 与之一一对应,如果修改CP342-5 的从站开始地址,如输入输出从地址2 开始,相应的FC1 和FC2 对应的地址区也要相应偏移2 个字节。组态完成后下载到CPU 中,如果没有调用FC1,FC2, CP342-5 PROFIBUS 的状态等“BUSF”将闪烁,在OB1 中调用FC1,FC2 后通讯将建立。配置多个从站虚拟地址区将顺延。
5. 编程
在OB1 中调用FC1 和FC2,FC1 和FC2 的位置如右图,具体程序如下:
参数含义:
CPLADDR:CP342-5 的地址。
SEND :发送区,对应从站的输出区。
RECV:接收区,对应从站的输入区。
DONE:发送完成一次产生一个脉冲。
NDR: 接收完成一次产生一个脉冲。
ERROR:错误位。
STATUS:调用FC1,FC2 时产生的状态字。
DPSTATUS:PROFIBUS-DP 的状态字节。
从上面我们可以看出,MB20,MB21 对应从站输出的第一个字节和第二个字节,MB22,MB23 对应从站输入的第一个字节和第二个字节。连接多个从站时,虚拟地址将向后延续和扩大,调用FC1,FC2 只考虑虚拟地址的长度,而不会考虑各个从站的站号。如果虚拟地址的开始地址不为0,那么调用FC 的长度也将会增加,假设:虚拟地址的输入区开始为4,长度为10 个字节,那么对应的接收区偏移4 个字节相应长度为14 个字节,接收区的第5 个字节对应从站输入的第一个字节,如接收区为 P#M0.0 BYTE 14 ,MB0~MB13,偏移4 个字节后,MB4~MB13 与从站虚拟输入区一一对应。编完程序下载到CPU 中,通讯区建立后,PROFIBUS 的状态灯将不会闪烁,例子程序参见光盘“ PROFIBUS ” 目录下的项目名“ CP342-5_MASTER”。
注意:
使用CP342-5 作为主站时,因为本身数据是打包发送,不需要调用SFC14, SFC15,由于CP342-5 寻址的方式是通过FC1,FC2 的调用访问从站地址,而不是直接访问I/Q 区,所以在ET200M 上不能插入智能模块,如:FM350-1、FM352 等项,所有从站的Ti To 时间保持一致。