NAPro编程软件使用手册南大傲拓科技江苏有限公司1第1章MODBUS通信设置1.1MODBUSRTU从站NA-PLCCPU都集成RS232或者RS485接口,通过下图协议选择MODBUSRTU,表示串口作为RTU从站在工作,触摸屏、组态软件等可以作为主站来读取PLC的寄存器地址。1.1.1功能码与数据分类对应表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型NAPro编程软件使用手册南大傲拓科技江苏有限公司2CPU测点地址与规约地址的上限有所不同):NAPro编程软件使用手册南大傲拓科技江苏有限公司3分类前缀测点类型读操作功能码写操作功能码规约地址范围备注0XQ0105/1500000~02047不同CPU地址范围不同,请参考下表。M0105/1510000~26383N0105/1530000~340951XI0200000~02047S0210000~140953XIW0400000~00511SW0405000~09095事件0410000~161734XMW0306/1600000~16383QW0306/1620000~20511NW0306/1621000~25095Clock031630000~30004Clock0306/1619990~19996V0306/1631000~47383类型名称CPU401-02系列CPU401-03系列CPU401-04系列CPU401-05系列CPU401-1101CPU201-1101I数字量输入测点512102420482048512Q数字量输出测点512102420482048512IW模拟量输入测点128256512512128QW模拟量输出测点128256512512128M位寄存器4096819216384163842048MW字寄存器4096819216384163848192N掉电保持位寄存器1024204840964096512NW掉电保持字寄存器1024204840964096512S系统位寄存器10242048409640961024NAPro编程软件使用手册南大傲拓科技江苏有限公司4SW系统字寄存器10242048409640961024T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。如%Q0005的规约地址为4。1.2MODBUSTCP从站协议NA-PLC的以太网接口,默认都是标准MODBUSTCP协议,PLC作为服务器端,触摸屏或者组态软件作为客户端来访问,默认端口号为502(不可更改)。PLC作为服务器端,最大允许同时访问客户端数量有限制,NA200H最大不要超过8个,NA300/NA400不要超过16个。NAPro编程软件使用手册南大傲拓科技江苏有限公司51.2.1MODBUSTCP协议变量地址表在本手册中,功能码与相应的数据的对应关系如下所示(以CPU401-0501为例,其它类型CPU测点地址与规约地址的上限有所不同):NAPro编程软件使用手册南大傲拓科技江苏有限公司6分类前缀测点类型读操作功能码写操作功能码规约地址范围备注0XQ0105/1500000~02047不同CPU地址范围不同,请参考下表。M0105/1510000~26383N0105/1530000~340951XI0200000~02047S0210000~140953XIW0400000~00511SW0405000~09095事件0410000~161734XMW0306/1600000~16383QW0306/1620000~20511NW0306/1621000~25095Clock031630000~30004Clock0306/1619990~19996V0306/1631000~47383类型名称CPU401-02系列CPU401-03系列CPU401-04系列CPU401-05系列CPU401-1101CPU201-1101I数字量输入测点512102420482048512Q数字量输出测点512102420482048512IW模拟量输入测点128256512512128QW模拟量输出测点128256512512128M位寄存器4096819216384163842048MW字寄存器4096819216384163848192N掉电保持位寄存器1024204840964096512NW掉电保持字寄存器1024204840964096512S系统位寄存器10242048409640961024NAPro编程软件使用手册南大傲拓科技江苏有限公司7SW系统字寄存器10242048409640961024T定时器25651210241024256C计数器25651210241024256在MODBUS规约中,地址的起始编号为0。如%Q0005的规约地址为4。1.3MODBUS主站通信设置1.3.1MODBUSRTU主站配置在NAPro【PLC配置/硬件配置】下,PLC类型选择NA200H时,它的串口可支持ModbusMaster协议配置,具体操作如下:【选择串口】:配置正确的串口参数,选择ModbusMaster协议,即可出现配置界面(图3.40):图3.40协议配置示意图【字符间最大时间间隔(10-1000,默认为200ms)】:一个命令发送后,收到的回文可能不是一次传完,在回文的多次传输中任意两个字符之间的最大时间间隔。【接收超时(10-10000,默认为400ms)】:主站发送命令后,等待从站的响应时间。【序号】:最多可以配置64个功能码命令。【功能码】:未配置即为Disable,配置时可根据Modbus协议的功能码定义。Modbus支持如下的功能码:功能码(十进制)含义NAPro编程软件使用手册南大傲拓科技江苏有限公司8功能码(十进制)含义01读线圈状态02读输入状态03读保持型寄存器04读输入型寄存器05写单个线圈06写单个寄存器15写多个线圈16写多个寄存器【从站地址(1-255)】:Modbus从站串口设备通信地址。【寄存器地址(0-65535)】:主站对从站的寄存器进行Modbus读写操作,此处即是从站的协议地址。对不同的从站,寄存器地址也各不相同,需参考各自从站的说明文档。【寄存器个数】:主站通过Modbus功能码进行读写操作的从站寄存器个数,最大值取决于从站寄存器的可访问范围。注意:05、06功能码的寄存器个数只能设置为1,这是由功能码本身的定义决定的。01、02、15功能码的寄存器个数为1-1920。03、04、16功能码的寄存器个数为1-120。【数据区】:可设置为%M、%MW、%N、%NW、V变量名,主站对从站进行读写操作,此处为用于存放数据区域的起始地址,数据个数为前面配置的寄存器个数。【控制位】:通过设置%M位控寄存器,可根据需要触发此读写指令的发送时间,%M点0-1跳变时,命令发送一次,发送成功后自动清零。无需控制时设置为0,此时这条读写指令定时500ms执行一次。例如控制位设置为2,也就是通过%M2来控制操作,%M2置1后,命令执行一次,然后%M2自动回复到0。【通信标志位】:串口号系统寄存器序号状态COM1%SW513-%SW5161-641表示通信故障,每个位对应一个序号COM2%SW517-%SW5201-641表示通信故障,每个位对应一个序号COM3%SW521-%SW5241-641表示通信故障,每个位对应一个序号NAPro编程软件使用手册南大傲拓科技江苏有限公司9COM4%SW525-%SW5281-641表示通信故障,每个位对应一个序号使用案例1.新建工程,选择PLC类型为NA200H,CPU类型为CPU401-1101,模块的ModbusMaster配置如下,bb为V变量名。2.先看序号1的03功能码,读取从站地址为1的设备,从从站的寄存器地址0开始连续读取10个字(读取从站的%MW1-%MW10),存放在主站(也就是本模块)的%NW1及其之后的数据区(%NW1-%NW10)中。下图即为从站的%MW区数值,以及主站读到的存放数据区%NW区数值:NAPro编程软件使用手册南大傲拓科技江苏有限公司103.再看序号2的05功能码,向从站地址为1的设备写入,被写入的寄存器地址为0(也即%Q1),待写入的值存放在主站的变量区bb中(bb[0]),写入的控制位为%M1。1)先将主站的变量bb[0]的值置1。此时可观察到从站的%Q1值未变化,也即未写入。2)再将主站的%M1置1后,它会自己回复到0状态,此时从站%Q1值被写为1。3)将bb[0]的值改为0时,%Q1也未变化,还是为1。4)再置主站的%M1为1后,%Q1才会被写成0状态。NAPro编程软件使用手册南大傲拓科技江苏有限公司111.3.2通过MODRW功能块实现MODBUSRTU主站功能NA300/400PLC的CPU不支持主站配置功能,用户可以通过我们提供的标准功能块实现MODBUSRTU主站功能。MODRW功能块描述该功能模块用于实现标准MODBUS主站规约的数据读写功能,自动对MODBUS规约信文进行解析,CRC校验核对和数据长度核对,用户只要填写数据读写地址及功能码即可完成简单的通信功能。功能块的调用需要定时触发,定时时间间隔即为数据读写的周期,最小周期不能小于50ms,通信过程中根据从站数据响应时间适当调整通讯时间间隔,否则有可能出现数据读取错误或者读取不到的现象。通讯状态指示:SW21(COM1发送状态)、SW23(COM2发送状态)0:正在发送1:发送成功2:发送失败SW22(COM1接收状态)、SW24(COM2接收状态)0:正在接收1:成功接收2:串口故障3:接收超时4:字符间隔过长5:超过信文最大字符数7:返回信文不正确8:请求信文不正确9:检验出错图标调用在LD中的表示形式:NAPro编程软件使用手册南大傲拓科技江苏有限公司12在FBD中的表示形式:在IL中的表示形式:CALMODRW(PORT:=Port,ADR:=Address,CODE:=Code,R:=Register,N:=Number,DATA:=Data)在ST中的表示形式:MODRW(PORT:=Port,ADR:=Address,CODE:=Code,R:=Register,N:=Number,DATA:=Data);参数说明NAPro编程软件使用手册南大傲拓科技江苏有限公司13图示参数描述数据类型测点类型PORTPortNo串口号(1或2),具体参数定义参见CPU模块配置。BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT常数、IW、QW、MW、NW、SW、变量ADRAddressModbus从站地址,地址范围1-255。BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT常数、IW、QW、MW、NW、SW、变量CODECodeModbus规约标准功能码,目前支持如下功能码:01、02、03、04、05、06、15、16。BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT常数、IW、QW、MW、NW、SW、变量RRegisterModbus规约中,数据寄存器的地址。BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT常数、IW、QW、MW、NW、SW、变量NNumber读写的寄存器个数。BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINT常数、IW、QW、MW、NW、SW、变量DATAData读写数据缓冲区,用于存放要发送∕接收的数据。BOOL、BYTE、WORD、DWORD、SINT、INT、DINT、USINT、UINT、UDINTIW、QW、MW、NW、SW、I、Q、M、N、S、变量例:使用MODRW功能块时,CPU属性里面