UN200CPU之间的通讯有很多种方法,包括PPI通讯、自由口通讯、MODBUS通讯等。都是一些很常见的通讯方式,以下跟大家探讨一下UN200CPU间的MODBUS通讯方式。 使用下面的例程你可以在UN200CPU之间设置一个简单的Modbus通讯。通过以下程序及连接可以了解UN200CPU程序编写的基本参数设置及设置步骤。
要求:
1 首先必须要有MODBUS指令库,安装指令库。
2 有安装好的Micro/Win V4.0 SP5以上版本的安装软件。
如下图所示。
1.硬件配置
例程中我们通过两台224CPU进行PORT0口通讯。主站CPU可以设置PORT0或者PORT1口为主站,设置从站CPU只能在PORT0口,如果想设置PORT1口做从站,需自行编写程序,不提供指令库。两个CPU PORT0口通过DP电缆3、8直连。
2.参数设置
对于MODBUS通讯,主站侧需要程序库"MBUS_CTRL" 和"MBUS_MSG",从站侧需要程序库"MBUS_INIT"和"MBUS_SLAVE"。
在Micro/WIN中您需要为主站和从站新建一个项目,程序与参数设置见图。
必须要保证主站与从站的“Baud”和"Parity"的参数设置要一致,并且程序块"MBUS_MSG"中的"Slave"地址要与程序块"MBUS_INIT"中的"Addr"所设置的一致。
Micro/WIN“系统块”中设置的0通讯口的波特率与MODBUS协议无关("Mode" = "1")。
下表列出各个子程序的参数设置的含义:
主站MBUS_CTRL参数说明
主站MBUS_MSG参数说明
查看具体的错误代码可以在编程软件“帮助”菜单查询。
从站MBUS_INIT参数说明
从站MBUS_SLAVE参数说明
查看具体的错误代码可以在编程软件“帮助”菜单查询。
3.库的存储地址
项目完成后必须要在Micro/WIN中定义库的存储地址,当定义完存储区后, 要保证在任何情况下不能再被其它程序所使用(主站侧: "DataPtr"+"Count"从站侧: "HoldStart"+"MaxHold")。点击“文件”下拉菜单中“库存储区”弹出一个对话框,点击“建议地址”。如下图所示。
4. 数据传输
将程序下载到相应的CPU后,可以在状态表中给主站侧的V存储区赋值,然后监视从站的变化。
当主站的I0.0使能后,VW2中的内容就被发送到从站并写入从站的VW2。保存寄存器的数据传输如下图所示:
通过以上概述,相信大家对200CPU间的MODBUS通讯有了一定的了解和认识。动动手,验证一下,欢迎斧正。