s7-1200 之间 modbus 通信实验报告
1.通信前准备和软硬件组态。
首先创建新项目,并命名为“两台 PLC modbus 通信”,如下图所示:
然后组态设备,选择 s7-1200 的 CPU 1214C DC/DC/RLY,版本号为
4.1,打开项目后,选中 PLC_1 设备视图,选择下面的“属性”选项,
再选择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字 节的复选框中打上勾,如下图所示:
再选中 PLC_1 设备中以太网口,在以太网地址设置 PLC_1 的 IP 地址
为:192.168.0.1,如下图所示:
然后添加通信模块 CM1241(rs485),然后到属性设置,选择波特率 为 9.6k,硬件标识符为 269,如下图所示:
然后复制 PLC1,生成 PLC2,不过在设备组态那里的以太网口改成 IP 为 192.168.0.2,拓扑图连接如下图所示:
到这里通信前设备设置已经完成了。
2.程序编程
在 PLC2 中添加全局数据块,命名为 slave-hr,并在里面建立数组, 名称为 HR-AYYAY,建立 1 到 20 的 word 类型的数据。如下图所示:
在 PLC2 变量表中添加变量表 1,变量如下所示:
同样方法在 PLC1 中添加全局数据块名称为 md-master,并建立两个
数组分别为 reacdi-array 和 wirtehr-array,数据类型分别为 bool 和 word,如下图所示:
在 PLC1 变量表中添加变量表 1,变量如下所示:
然后回到 PLC2 中,在主程序 mian 中添加指令 modbus-comm-load,
生成背景数据块,并编写好各个形参的实参,如下图所示:
注意的是在 MB-DB 的实参是选择下面的背景数据块 DB3 的。
在程序段 2 中添加指令 modbus-slave,并生成背景数据块,各个形 参的实参如下图所示:
到这里 PLC2 的程序已经完成,编译没错。
回到 PLC1 中的主程序 mian,同样在程序段 1 中添加指令 modbus-
comm-load,生成背景数据块,并编写好各个形参的实参,如下图所 示:
同样注意的是在 MB-DB 的实参是选择下面的背景数据块 DB3 的。
在程序段 2 中添加指令 modbus-master,并生成背景数据块,各个 形参的实参如下图所示:
复制程序段 2 到程序 3 中,修改各个形参的实参,如下图所示:
到这里 PLC_1 和 PLC_2 的编程组态已经完成了 三.下载测试
将 PLC_1 的程序下载到 PLC 中去
将 PLC_2 的程序下载到 PLC 中去
在 PLC_1 和 PLC_2 中分别添加监控表 1、2,如下图所示: PLC_1 监控表 1
PLC_1 监控表 2
PLC_2 监控表 1、2
启动两台 PLC 并监控,输入数据然后点修改,测试结果如下所示:
通信结果
到这里,modbus 通信成功。 四.总结
通过这次 PLC 之间 modbus 通信,我巩固了许多 PLC 通信的知识,观
察与动手能力也随之加强。感谢老师有这次机会去接触更深层的关 于 PLC 知识,感谢老师的辅导!
因篇幅问题不能全部显示,请点此查看更多更全内容