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 时间保持一致。