一、plc作为modbus主站
1、实验目的
在实际应用中,不可避免的会遇到通讯,modbus通讯就是日常应用频繁的通讯之一;本实验的目的就是利用micro logix1400的plc进行modbus通讯,plc作为主站,modbus salve软件作为从站,主站能够访问从站的数据;
2、实验的硬件
1)、micro logix1400; 2)、1761-CBL-PM02连接线---------连接plc和电脑; 3)、24VDC电源 导线若干; 4)、蒂特usb转rs232线(注意,没有rs232转rs485的转接头); 5)、网线一根;
3、实验的软件
1)、win7-32位旗舰版系统; 2)、rslinx软件; 3)、rslogix500 v8.1中文版; 4)、modsim或者modbus salve模拟从站软件;
4、实验步骤及流程
其实,plc进行modbus通讯,plc作为主站,其所有的流程就是两步:一,对通道组态进行设置;二、编程;
1)、关于下载 关于下载,需要注意2个要点:--------无线在必要的时候可以关闭; 第一点:下载之前,plc最好设置为远程,这样既能下载,还能在线运行;否则,需要来回设置1400plc的lcd显示屏,很不方便; 第二点:需要先进行通道0的DF1全双工下载,之后设置为通道1的以太网下载;因为要设置通道0为modbus通讯;
2)、通道组态 要进行通讯,需要对连接口进行组态设置,点击目录树左侧的通道组态,则弹出下面的对话框,设置好以后的实际参数如下图所示:
驱动:modbus RTU主控;
波特率:9600;
奇偶校验:无; 停止位:1; 数据位:8; 控制协议---控制行:没有同步交换; 控制协议—超时:20; 控制协议—延迟:20;
3)、关于modbus通讯的编程-----通过MSG命令及设置来实现
编程的命令就是这一行,其余的都是对这个命令的设置:
MSG文件------输入MG10:0(实际当中根据实际情况输入最大的数据文件号) 设置画面----这个是主要的设置,其设置如下:
其中,最重要的是以下几个参数,如下图所示:
关于这个几个参数,自己认为的解释如下: 数据表地址:这里指的是plc作为主站读取到的从站的数据,需要放到主站的哪里,本实验是放到了N7:0开始的10个字; 元素大小:同数据表地址一起,构成了数据区的大小; 从节点地址(十进制):这里指的是modbus从站的地址,本实验设置为1; 其余的除了下面的几个重要的参数,其余的默认即可;
4)、关于modbus slave软件的设置
根据plc那边的设置,从站的设置为: 地址为1; Com口根据电脑设备管理器那里选择; 9600—8—1—无; 选择的是3*****; 如下图所示:
5)、实验的最终结果
从实验可以看出,从站的数据222,111,被主站读取到N7:0开始的10个字中;表明modbus通讯成功; 至此,实验完毕; 二、plc做modbus从站
本实验是在micro logix1400 plc做modbus主站的实验基础之上而来;
1、关键点
关键点:不编辑程序,仅仅是设置通道组态即可;
2、通道组态
rslogix软件左侧目录树中双击通道组态,出现对话框,进行如下设置(下图是设置好以后的实际图):
如上图所示设置好以后的图,设置的步骤如下: 步骤如下(针对于本实验来说):输入寄存器(3****)的右侧输入数据文件号(本实验是11)----点击应用按钮----在弹出的对话框中输入数据区的大小(本实验是10) 其中,主要设置了以下参数: 驱动:modbus RTU被控; 波特率:9600; 奇偶校验:无; 停止位:1; 数据位:8; Modbus数据表文件数---输入寄存器(3****):本实验根据rslogix软件的数据文件的最大号数是MG10,故此,输入11, 控制协议---控制行:没有同步交换; 控制协议—超时:20; 控制协议—延迟:20;
3、modscan模拟主站软件的设置
设置好接口参数如下:----本处不作为重点进行讲解;
4、实验的最终结果
在模拟主站的modscan软件设置好以后,双击在rslogix软件中的数据文件(新建的数据区)N11,展开对话框,并且在其中设置数据23,88,同时在modscan模拟主站软件中的相应地址中看到了数据23,88,如下图所示:
上图可见,plc中的数据区N11中在相应地址中设置好23,88的数据后,在模拟主站软件的相应地址上读取到了相应的数据23,88,说明通讯已经连接,plc作为modbus从站是成功的; 至此,实验完毕。