s7-1200 和 s7-300 cp342-5 的 dp 口的主从通信(cp342-5 做主站,1200 做从站)
使用 s7-1200 与 s7-300 用 cp342-5 进行主从通信,这里 cp342-5 做为主站,将 s7-1200 的 cm1242-5 做从站。
硬件:
cpu 1214c dc/dc/dc,v2.1
cm1242-5(从站模块)
cpu300(6es7 317-2ek14-0ab0)
cp342-5(6gk7 342-5da02-0xe0)
软件:
step7 v13 sp1
step7 v5.5 sp3
s7-300 用 cp342-5 做 dp主站,s7-1200 通过 cm1242-5 做从站,这种方式可以分2种情况来操作,具体如下:
种情况:cpu 1214c 和 cpu300 使用 step7 v13 在一个项目中操作。
第二种情况:cpu 1214c 和 cpu300 使用 step7 v13 不在一个项目中的操作。cpu 1214c 使用 step7 v13,而 cpu300 使用 step7 v5.5。
一. 种情况(同一项目中操作)
1.1 使用 step7 v13生成项目
使用 step7 v13 创建一个新项目,并通过“添加新设备”组态 s7-300 站 cp342-5 m,选择 cpu 317-2 pn/dp;接着组态 s7-1200 站 cm1242-5 s,选择 cpu1214c dc/dc/dc v2.1,如图 1 所示。
图 1 在新项目中插入 s7-300 站和 s7-1200 站
1.2 组态主站cp342-5的 dp 接口
组态 cp342-5 dp 接口,进入属性框,在“profibus 地址”界面,添加子网“profibus_1”,地址选择 2;在“操作模式”界面,操作模式选择“dp 主站”,如图 2 所示。
图 2 组态主站 cp342-5 的 dp 接口
1.3 组态从站 cm1242-5
接着组态从站 cm1242-5 的 dp 接口,进入 cm1242-5 的属性框,在“profibus 地址”界面,选择子网“profibus_1”,站址选择 3,如图3所示;
图 3 组态从站 1242-5 dp 接口
在“操作模式”界面,选择“dp 从站”,“分配的 dp 主站”选择“cp342-5 m.cp 342-5_1”,在传输区域创建 2 个区域(“传输区_1”、“传输区_2”),输入输出各 10 个字节,如图 4 所示。
图 4 组态 cm1242-5 操作模式和传输区
1.4 软件编程
在 s7-300 侧,cp342-5 进行数据发送接收,需要通过编程实现。首先创建发送和接收数据块 db1 和 db2,定义成101个字节的数组,如图 5 所示。
图 5 cp342-5侧创建接收发送数据块
在 ob1 中,从“指令”>“通信”>“通信处理器”>“simatic net cp”>“profibus dp”下,调用dp_send、dp_recv通信指令,如图 6 所示。
图 6 发送接收指令调用和 cpladdr 地址
功能块参数意义如下表1.
管脚
说明
cpladdr
模块的起始地址(当组态cp342-5时,在组态表中显示模块的起始地址,这里是256);
send
发送数据区,对应从站的输入区;
recv
接收数据区,对应从站的输出区;
done
发送完成位:作业完成,无错误,该位置1且保持一个脉冲;
ndr
接收完成位:作业完成,无错误,该位置1且保持一个脉冲;
error
错误位:0-无错误;1-出现错误,错误原因查看status;
status
调用功能块时产生的状态代码;
dpstatus
profibus_dp的状态代码
表 1. 功能块参数意义
1.5 监控结果
在同一项目中,分别为 cpu300 和 cpu1214c 创建监控表,进行通讯测试,如图 7 所示。
图 7 监控结果
二. 第二种情况(不在同一项目中操作)
cpu300 用 cp342-5 接口做 dp 主站,cm1242-5 做 dp 从站,不在一个项目中的操作,即:cpu 1214c 使用 step7 v13,而 cpu300 使用step7 v5.5。
2.1 创建 s7-1200 站并组态从站 cm1242-5
使用 step7 v13 创建一个新项目,并通过“添加新设备”组态 s7-1200 站1242-5s,组态 cm1242-5 的 dp 接口,进入 cm1242-5 的属性框,添加子网“profibus_1”,站址选择 3,如图 8 所示;
图 8 组态从站 1242-5 dp 接口
“操作模式”界面,选择“dp 从站”,“分配的 dp 主站”选择“未分配”;在智能从站通信的传输区域添加 2 个传输区(“传输区_1”、“传输区_2”),数据长度都是 10 个字节。
注意:与主站的输入输出对应,即:“传输区_1”为从站的 10 个字节的输入,“传输区_2”为从站的 10 个字节的输出,如图9所示。
图 9 组态 cm1242-5 操作模式和传输区
2.2 主站项目中组态从站
主站项目软件使用的是 step7 v5.5,首先安装 cm1242-5 的 gsd 文件。cm1242-5 的 gsd 文件下载链接:http://support.automation.siemens.com/cn/view/zh/49852283。
在软件 step7 v5.5 中,通过“options”进入“install gsd file…”界面, 在源路径选择 cm1242-5 的 gsd 文件存放路径,选择gsd文件,点击“install”进行安装,如图 10 所示。
图 10 step7 v5.5 安装 cm1242-5 的 gsd 文件
接着在主站项目中组态从站,将 cm1242-5 拖放到主站的 dp 网络中,使用“universal module”组态输入输出。注意:主站的输入输出与图9中的从站“传输区_1”和“传输区_2” 必须要对应,即:主站的输出对应从站的输入,输入对应从站的输出,如图 11 所示。
图 11 组态从站 cm1242-5(v5.5 软件)
2.3 软件编程
在 s7-300 侧,cp342-5 进行数据发送接收,需要通过编程实现。首先创建发送和接收数据块 db1 和 db2,定义成101节的数组,如图 12所 示。
图 12 cp342-5侧创建接收发送数据块
在 ob1 中,从“libraries”>“simatic_net_cp”>“cp 300”下,调用fc1(dp_send)、fc2(dp_recv)通信指令,如图13 所示。
图 13 发送接收指令调用和 cpladdr 地址
关于功能块参数意义参考上表 1.。
2.4 监控结果
在不同项目中,分别为 cpu300 和 cpu1214c 创建监控表,进行通讯测试,如图 14 所示。
图 14 监控结果