亿维MPI转以太网适配器应用入门(三)
三、Modbus通讯的使用方法(一)、地址映射的参数配置通讯模块内集成 ModbusTCP 通讯服务器, 因此 ModbusTCP 客户机, 以及实现 ModbusTCP 客户机的高级语言开发的软件等, 可以直接访问S7 系列 PLC 的内部数据区。打开软件设置适配器参数,如下图:1、modbus地址区中,如图可知:数据区域有四种选择分别为:• Coil——输出线圈 (Q0.0-QX.X) • InputCoil——输入线圈 (I0.0-IX.X)• InputRegisters——输入寄存器 (MW0-MWx;AIW0-AIW62;AQW0-AQW62;SW0-swx;SMW0-SMWx;PW0-PWx)• HolddingRegisters——保持寄存器(VW0-VWX;DB1.DBW0-DBx.DBWx)2、起始地址的对应关系如图所示:起始地址为0,终止地址为125时, 当起始地址为0时则对应的modbus地址为“x0001”,终止地址为“x0126”。当起始地址为1时则对应的modbus地址为“x0002”,终止地址为“x0127”。1、S7PLC地址区中数据区域的对应设定。 • 输出线圈Coil只对应S7中输出Q• 输入线圈InputCoil只对应S7中的输入I• 输入寄存器InputRegisters对应:▲S7-200中 M区 MW0到MW30AI区 AIW0到AIW62AQ区 AQW0到AQW62S区 SW0到SW30SM区 SMW0到SMWX▲S7-300中PW区 PQW0到PQWX/PIW0到PIWx MW区 MW0D到MWX • 保持寄存器HolddingRegisters对应: ▲ S7-200中 V区 vw0到vwx ▲ S7-300中 DB区 DB1.DBW0到DBx.DBWX2、注意事项及使用规则① 对于200系列PLC而言,V区对应DB1,偏移地址以字节为单位。如: DB1.DBW100则为VW100。② 对于字映射(3区和4区),必须以125个字为单位,进行块映射。③ 对于位映射(0区和1区),必须以2000个位为单位,进行块映射。④ 要考虑两个映射块之间的跨区问题,保证映射块之间的大小,防止跨区。⑤ 可采用“自动分配映射地址”的方法,进行规避。 (二)举例验证 用Mbpoll接口软件测试读取客户机(NETS7)参数。(1)读取200系列PLC 各区数据(无需进行程序的编写) 所需:CPU 124XPplc一台 适配器 NET-MPI 一个 网线 标准网线一根 硬件连接方式如下图: ①读取V区数据,vw100适配器参数设置,读取vw100开始的125个字到modbus地址40001到40125。如下图: 通寻验证:▲ 读取从站vw100数据▲写入数据到vw114以后地址中。 ② 读取M区数据,MW0适配器参数设置,读取MW0开始的125个字到modbus地址30001到30125。注意:200中M区地址为MW0--MW30,参数设置如下图:通寻验证:▲ 读取从站MW0-----MW30的数据③读取S区数据,SW0——sw30适配器参数设置,如下图通寻验证:▲ 读取从站MW0-----MW30的数据 ④读取AI区数据,AIW0——AIW62适配器参数设置,如下图:通寻验证:▲ 读取从站AIW0-----AIW10的数据⑤读取AI区数据,AQW0——AQW62适配器参数设置,如下图:通寻验证:▲ 读取从站AQW0-----AQW10的数据(2)读取300系列PLC 各区数据(无需进行程序的编写)所需: CPU: UN314-2ptp 一台适配器:net--mpi 一个网线: 标准网线 一根硬件连接,如下图: ①读取多个DB区数据 ▲设置适配器参数读取DB1.DBW0起始地址数据125个到40001到40125读取DB2.DBW10起始地址数据170个到40130到40300 ▲通讯验证读取或写入数据:DB1.DBW0---DB1.DBW10▲通讯验证 同时读取或写入到DB1、DB2区中。DB1.DBW0---DB1.DBW10DB2.DBW10---DB2.DBW20②读取M区数据 适配器参数设定,如下图:▲通讯验证 读取MW0--mw10数据到30001——30006 总结: 通过上述试验验证,该适配器,较之前相比,功能强大,灵活性高,可实现多区域数据的读取与写入,适应广泛。 (完)