
一、具有集成接口的CPU (CPU31x-2DP, CPU31x PN/DP, CPU 41x-2)做主站,ET200作从站
组态完成后,访问位、字节、双字节,以及四字节地址区域(像本地I/O一样访问),3个字节或4字节以上的传输不能保证是同一时刻来的数据,只能通过SFC 14(读),SFC15(写) 来保证数据传输的连续性。(342-5作主站可以保证数据传输的一致性,因为它本身是通过FC实现数据传输的。)
二、具有集成接口的CPU (CPU31x-2DP, CPU31x PN/DP, CPU 41x-2)做主站,具有集成接口的CPU (CPU31x-2DP) 做智能从站。
1.组态智能从站,并编译
通过PG
监控通讯
2.组态主站
在主站的HW Config中组态DP口,并将其Operation Mode设置成Dp master, 将目录中“profibus DP”—“Configured Stations” —“CUP 31x2DP”拖拽到DP网络上,配置“connect”和“configuration”属性,完成configuration配置如上图所示。
(配置中的I/O模块是虚拟的,用来实现数据交换,不能和自身I/O模块的地址冲突
Unit:一个word,一个word的发;All:一起发
MS模式为主从模式,DX模式为直接数据交换模式)
3.下装,监视
通过MPI将程序下装,由于找不到 虚拟IO会使系统停机,将OB82,OB85下装,各自建立变量表,观察收发情况
(可以切换到Profibus网络,在通过profibus进行同时监控,有可能发生不能同时监控的情况,在不能监控的模块里可以写一段move指令。)
例如:
三、CP342-5做主站,ET200做从站
1.将CP342-5组态为主站模块
DP_SEND
CPLADDR:=w#16#100
DP_RCV
CPLADDR:=w#16#100
2.组态ET200
3.编写程序
(1)将IW12发送到ET200的DO模块。
(2)将ET200的DI模块发送到QW16。
注:ET200中的模块地址是偏移地址,所以是可以和本地IO地址相重的。如果偏移地址不是从0开始的,要特别注意发送或接收区域的长度,一定要足够大。(下图举例说明)
四、CPU 41x-2(443_5)做主站,342-5做智能从站
1.组态CP342-5,设置为从站
2.组态CPU 41x-2(443_5),做主站
注:cp342-5上虚拟出的IO地址和本地IO地址不能相重。
3.编程
(1)400中的程序
(2)300中的程序
(3)下装程序的同时下装OB82,OB85,OB86, 以免硬件下装的过程中找不到模拟模块造成停机,硬件下装的时候CP板的信息要一起下去,否则CP板工作将会不正常。
五、342-5做主站,342-5做从站
1.组态主站,从站,结果如下:
| master | slave | ||
| DI | DO | DI | DO |
| 8..9 | 16..19 | ||
| 12..13 | 20..23 | ||
| 16..17 | 24..25 | ||
| 20..21 | 28..29 | ||
2.编程
| 主(master) | 从(slave) | ||
| 发送 | Mov: IW8->MW104 | 接收 | F2(DP_RECV) W#16#110 P#M 40.0 BYTE 8 |
| F1(DP_SEND) W#16#110 P#M 100.0 BYTE 8 | Mov: MW40->QW20 | ||
| 接收 | F2(DP_RECV) W#16#110 P#M 200.0 BYTE 8 | 发送 | Mov: W#16#234->MW200 |
| Mov: MW204->QW20 | F1(DP_SEND) W#16#110 P#M 200.0 BYTE 8 |
●发送接收长度一定要是8个字节,因为定义的时候就是8个字节(4..11)。
●地址的偏移量是对主站而言的,主站写程序的时候是要考虑偏移量的,从站程序中是没有偏移量的。
六、DX通讯
1.组态400做主站,两个300做从站
(1)300:DP口设置为slave,地址为3,连在profibus网上,
configuration:(本地)
MS output 100 8 word Unit
MS Input80 10 byte Unit
(2)300:DP口设置为slave,地址为4,连在profibus网上,
configuration:(本地)
MS output 140 4 word Unit
(3)400:将两个slave站挂到DP总线上,并完成configuration配置
| 方式 | 2#主站 | 3#从站 | 4#从站 | 字节数 |
| MS | I200..I215 | O100..O115 | 8W | |
| MS | O180..O1 | I180..I | 10B | |
| MS | I220..I227 | O140..O147 | 4W | |
| DX | I204..I211 | I100..I147 | 4W |
3#从站到4#从站的数据实际是通过2#主站转发的,所以3#从站的地址实际是2#主站的地址,数据是从3#站的O104..O111到4#的I100..I107
2.下装,测试
对三个站分别下装OB82,OB85,OB86
在netpro中全部选中,下装
编写程序:
3#:MOV MD0, QD104 建立变量表,修改MD0的值
4#: MOV ID100, MD0 建立变量表,观察MD0的值
2# 建立变量表,观察ID204的值
第二部分:Profibus扩展通讯
一、S7 connection连接
400DP口与300DP口进行通讯
1.硬件配置,将400DP口和300DP口均挂在profibus网上,工作方式都处于No DP方式。
建立S7 connection连接。
全部选中,硬件下装,测试连接是否可建立。
2.编程,建立变量表,进行观测。
注:443-5与342-5做S7 connection方法同上(与342-5通讯可以使用双边,FB12,FB13,400则使用SFB12,SFB13,如果400是和300DP口做通讯就只能使用单边的方式)
二 FDL连接
443-5与342-5之间建立FDL连接
1.硬件配置,将CP342-5和CP443-5均挂在profibus网上,工作方式都处于No DP方式。
建立FDL连接。
全部选中,硬件下装,测试连接是否可建立。
2.编程,建立变量表,进行观测。
写程序的时候应该注意400调用的FC5,FC6在CP_400库中,300调用的FC5,FC6在CP_300库中,它们是不同的FC5和FC6。分别编写程序,下装。(下面显示的是400中的程序,300中的程序与之类似)
第三部分:诊断中继器和路由
一、诊断中继器
1.硬件组态,下装(diagnostic repeater在profibus DP\\network component\目录下 )
2.诊断中继器的开关设置
3.读出诊断中继器的诊断信息
将PG接到诊断中继器的专用口,诊断只能诊断总线型,星型不行(不能用PC Adapter连,只能用cp5611),将set PC/PG interface设置成cp5611(profibus) Activate。
在netpro中选中profibusDP网,在菜单”PLC”/”profibus”/”prepare line diagnostics” 选择start
在菜单”PLC”/”show network topology”
4.测试
将地址为3的ET200站的DP接头打成off,再次读出诊断信息。
二、路由
1.硬件组态
CP342-5与CP443-5连在profibus网上,工作于no DP方式,PG与300连在MPI网上。
PG/PC属性设置:
Interfaces选项卡中new interface, 地址设为0。将CP5611(MPI)分配给接口,并激活。
组态结束,全部选中,下装。结果如下所示。
2.察看结果
在PG中察看400的IB0, 发现可以监测。
