发布于 2003-05-15 14:34:18
0楼
1――FDL 通讯
FDL(现场数据连接)Profibus 通讯方式,是一种非常方便的PLC-PLC 之间的数
据通讯方式,通讯量为最大240 字节(而在broadcast、multicast 方式中,最
大236 个字节)。
一般有两种作法:
1)在同一项目中的作法,在下面作一些硬件组态及编程的介绍:
a)首先硬件组态,在硬件中插入CP342-5 或CP343-5 在S7-300 机架或
CP443-5 在S7-400 机架上,组态Profibus 地址、传输速率及Profile 选
“standard”,同样在另一个S7 站在组态通讯模块选择同一个Profibus,
并组态站号,并存盘。
b)在硬件组态画面中选菜单“Options”→ Configure network 进入“connection”
画面中,单击某一站的CPU,在底下会出现一列表格,双击第一栏,出现一个
“Insert New Connection”画面。首先选择你所要进行通讯的站,在“Connection
Type”中选择“FDL”通讯,激活“Display properties dialog”,单击“Apply”后
进入“FDL Connection”属性画面。在这里,主要记住在“General”中“Block
parameters”ID=?及LADDR=?,退出编译,存盘,并单击某一个站,下载到
CPU 中。同样,如果是多个站进行通讯,必须在所通讯的站之间建立不同的FDL
连接,两个通讯站中只在一个站中建立连接就行。
c)编程。通过调用FC5(AG_SEND)、FC6(AG_RECV)建立通讯接口
区。
Call “AG_SEND” (最好在OB35 中调用,如果在OB1 中调用,
连接诊断中会出现对方站没有资源了,因为
发送太快)
ACT: = TRUE (发送)
ID: = ? (看FDL 属性中“Block parameter”中ID 及
LADDR)
LADDR = W#16#?
SEND = P#M10.0 Byte 10 (发送区,以MB10 以后10 个字节)
LEN = 10 (发送长度10 字节)
DONE = M2.1 (是否发送)
ERROR = M2.2 (故障位)
STATUS = MW4 (包含一些通讯状态)
Call “AG_RECV”
ID = ? (同上)
LADDR = ?
RECV = P#M20.0 Byte 10 (接收区)
NDR = M6.1 (新数据是否收到)
ERROR = M6.2
STATUS = MW8
LEN = MW0 (接收长度)
2――DP 通讯
: 例如, 一个S7-300 的从站, 一个是S7-300 或S7-400 的主站:
1、先组态从站, 建立一个S7-300 的站,在“Hardware” 中, 插
入一个CPU316-2DP。
2、双击DP-Master, 在“operating mode” 中选择DP slave。
在configuration 中选择MS 方式, 定义从站的接口区。( 如, 在S7-300
侧, 以Q20、I20 各4 个字节作为接口区, 如果是3 个byte 或者大于4 个
byte 时, 要调用SFC14、SFC15, 最大240 个字节, 但是要占用本站的
I/Q 区)“I/Q” 选Q,“Address” 选20,“length” 选4,“unit” 选“byte”,
“consistency” 选“unit”, 同样的方法选择“I” 区。
编译存盘。
3、在Step7 中建立一个S7-400 站作为主站, 先点击
“Profibus(1):DP master system(1)” 一下, 点黑, 在右边硬件中
选择“Profibus DP” 中“configured stations” 的CPU31x-2DP。
4、双击从站, 在“connection” 中选择已组态的从站, 按
“connect” 进行连接。
5、在“configuration” 选项中, 组态S7-400 侧接口区( 从站Q→
主站I, 从站I→ 主站Q)。
6、编译存盘。这样双方就可以通讯了( 注意, 如果每个区的
通讯大于4 个字节, 分别在主站、从侧调用SFC14、
SFC15)。