s7-1200之间modbus通信实验报告
一.通信前准备和软硬件组态。
首先创建新项目,并命名为“两台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,拓扑图连接如下图所示:
到这里通信前设备设置已经完成了.
二.程序编程
在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知识,感谢老师的辅导!
因篇幅问题不能全部显示,请点此查看更多更全内容