要实现S7-300与S7-200进行PROFIBUS DP通讯,需通过使用EM277模块将S7-200CPU作为DP从站连接到网络中,从而实现S7-300与S7-200的通讯。 支持的波特率范围:9600----12M 订货号:6ES7-277-0AA22-0XA0 1、首先安装EM277的GSD文件 2、在路径PROFIBUS DP---Additional FieldDevices---plc---SIMATIC---EM277将其拖入到组态的DP线上 3、点开“EM277 profibus dp”下面是各种不同种类通讯数据分类 如“2 BYTE OUT/ 2 BYTE IN”2个字节的输入2个字节的输出 对应的两个字节为 IB0-IB1和0-1 可以双击选项栏设置 4、设置主站和从站的DP通讯地址 主站站号为2,从站站号为4 EM277通过旋转模块左上方的拨码开关来设置DP从站地址,如从站地址为“4”的话将X10档位中的头旋转到“0” X1档位中的头旋转到“4”;若从站地址为“25”则将X10档位中的头旋转到“2” X1档位中的头旋转到“5” 通讯正常的话EM277 模块上的DX MODE绿灯是亮的并且主站CPU指示灯为正常;如果通讯有误的话,DX MODE灯不亮,且主站CPU指示灯报故障,而且CPU不能启动。 5、双击EM277----分配参数----I/O offset in the V-memory 给从站S7-200设置对应的VB存储区 数值填多少 就对应的多少 如图设置的是 VB1000 为映射起始地址 表示:0-1------VB1000-VB1001 IB0-IB1------VB1002-VB1003 6、给 DI DO模块分配地址,因为上一步通讯已占用了IB0 IB1 0 1这些地址,所以模块中的起始地址只能从IB2 2开始 7、编写程序 S7-300主站程序 S7-200从站程序 数据流向: MB10(S7-300)------0(S7-300)-------(DP通讯)------VB1000(S7-200)----0(S7-200,实际输出) VB0(S7-200)-------VB1002(S7-200)--------(DP通讯)--------IB0(S7-300)------2(S7-300实际输出) 测试1: STEP7中 MB10写入“170” 然后通过MOVE指令传送到了 0(S7-300)中 再通过DP通讯传送给S7-200 监控Micro/WIN VB1000将数据“170” MOVE到了0(S7-200)中 PLC实际照片:170(10#)==10101010(2#) 测试2: 在Micro/WIN中 VB1写入“255” 并通过MOVE指令传送给 VB1003 然后通过DP通讯传送给IB1(S7-300) 监控STEP7 IB1值为“255” 然后通过MOVE指令 传送到3(S7-300)实际输出 PLC实际照片 附加 :模拟量测试 只需更改以下操作: 1、在组态时选择 一个字类型的传输方式 如1Word Out/ 1Word In一个字类型输出一个字类型输入 然后设置 DP从站的 输出、输入 如:输出 PQW264 输入PIW272 2、映射地址 还是V存储区 1000为起始地址 PQW264------VW1000 PIW272------VW10002 3、编写程序 S7-300 S7-200 数据传输 MW10(S7-300)---PQW264(S7-300)---(DP通讯)---VW1000(S7-200)---VW0(S7-200) VW2(S7-200)---VW1002(S7-200)---(DP通讯)---PIW272(S7-300)---MW12(S7-300) 5、测试1 STEP7 中 向MW10写入“13824” 监控Micro/WIN VW1000值变为了“13824” 测试2 Micro/WIN 写入“27648” 到VW2 并MOVE到VW1002中 监控STEP7 PIW272的值变为了 “27648” |