要实现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和QB0-QB1
可以双击选项栏设置
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 为映射起始地址
表示:QB0-QB1------VB1000-VB1001
IB0-IB1------VB1002-VB1003
6、给 DI DO模块分配地址,因为上一步通讯已占用了IB0 IB1 QB0 QB1这些地址,所以模块中的起始地址只能从IB2 QB2开始
7、编写程序
S7-300主站程序
S7-200从站程序
数据流向:
MB10(S7-300)------QB0(S7-300)-------(DP通讯)------VB1000(S7-200)----QB0(S7-200,实际输出)
VB0(S7-200)-------VB1002(S7-200)--------(DP通讯)--------IB0(S7-300)------QB2(S7-300实际输出)
测试1:
STEP7中 MB10写入“170” 然后通过MOVE指令传送到了 QB0(S7-300)中 再通过DP通讯传送给S7-200
监控Micro/WIN VB1000将数据“170” MOVE到了QB0(S7-200)中
PLC实际照片:170(10#)==10101010(2#)
测试2:
在Micro/WIN中 VB1写入“255” 并通过MOVE指令传送给 VB1003 然后通过DP通讯传送给IB1(S7-300)
监控STEP7 IB1值为“255” 然后通过MOVE指令 传送到QB3(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”
|