西门子S7-300C PLC与MM420变频器 PROFIBUS-DP 通讯

1. 示例系统的体系结构
图 0 本例中选用 s7-300 cpu 314c-2dp 作为 profibus-dp 主站,连接一个 mm420 变频器。连接多个 mm420 时与之相同。
2. 软件版本描述
需要软件
step 7 v5.2 以上
需要硬件
1:s7-300 cpu 314c-2dp
2:mm420
3:profibus 模板,用于安装在 mm420 上,使之成为 profibus-dp 从站。
3. 组态 3.1 下载gsd文件
如果早期 step 7 软件中不包含 mm4,那么应先从网上下载 mm4 系列的 gsd 文件(si0280b5.gse),集成于 step 7 中。
安装 gsd 文件如图 1 所示。
图 1
图 2 3.2 组态从站 在 step 7 hw config 中先组态 s7-300 站,使之成为 profibus-dp master, 在dp 网上挂上 mm420, 并组态 mm420 的通讯区。通讯区与应用有关,如果需要读/写 mm420 参数,则需 4 pkw 区;如果除控制字和设定值以外还需传送其他数据,则要选择 4 pzd。
在选项中有:
1, whole cons. (pkw,pzd 数据都是连续的,都要调用 sfc 14, 15)
2, word cons. (只有 pkw 数据是连续的,要调用 sfc 14, 15)
在本例中,采用 4 pkw, 4 pzd word cons.,mm420 地址为 4。
图 3 4. mm420 参数设置
p918 站号 4
p700 命令源 6(从cb 来)
p1000 频率设定源 6(从cb 来) 5. plc 编程 1. 由于采用 4 pkw, 4 pzd word cons. 方式,pzd 不需要调用 sfc 14, 15。
图 4 在本例中控制字和设定值可以从 md10 传送,md14 可传送其他数据。mw10 为控制字,从 16#047e 变为 16#047f 后变频器起动。mw12 中的频率值将输出。状态字和实际值从 piw264, piw266 读入。 2. 4 个 pkw 为连续数据,所以要调用 sfc14, 15 来打包解包。本例中打包解包数据放在db1 中。
图 5 6. 数据传送规则
对 pkw 区数据的访问是同步通讯,即发一条信息,得到返回值后才能发第二条信息。pkw 一般为 4 个字。 1,读写 0002~1999 的参数。
如:读 p0700, 700(dec)=2bc(hex)
plc pkw 输出=12bc,0000,0000,0000 1 表示读请求
plc pkw 输入=12bc,0000,0000,0006 返回 1 表示单字长,值为 0006(hex) 如:读 p1082, 1082(dec)=43a(hex)
plc pkw 输出=143a,0000,0000,0000 1 表示读请求
plc pkw 输入=243a,0000,4248,0000 返回 2 表示双字长,值为 42480000(hex)=50.0(real) 如:写 p1082, 1082(dec)=43a(hex)
plc pkw 输出=343a,0000,41f0,0000 3 表示写双字请求,值为
41f00000(hex)=30.0(real)
plc pkw 输入=243a,0000,41f0,0000 返回 2 表示双字长,确认修改完毕。 2,读写 2000~3999 的参数。
如:读 p2010, 10(dec)=a(hex) (10=2010-2000)
plc pkw 输出=100a,0180,0000,0000 1 表示读请求, 01 表示参数下标为 1
8 表示参数号码相差 2000
plc pkw 输入=100a,0180,0000,0006 返回 1 表示单字长,值为 0006(hex) 传送命令参考 mm420 手册 3,pzd 参数为异步读写。
plc 输出,第一个字为控制字,第二个字为主设定值。(缺省)
plc 输入,第一个字为状态字,第二个字为运行反馈值。(缺省)