您的当前位置:首页正文

s7-1200之间modbus通信

2020-03-11 来源:客趣旅游网


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知识,感谢老师的辅导!

因篇幅问题不能全部显示,请点此查看更多更全内容