第第11章章Modbus通信之单字读写通信之单字读写温湿度测量温湿度测量ContentsContents课程主要内容课程主要内容11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入11.3 Process of Configuration by MCGSE MCGSE组态过程组态过程11.4 Input and Output by Relay 继电器输入与输出继电器输入与输出莫迪康莫迪康数据类型数据类型 Preparation For HardwarePreparation For Hardware 准备工作准备工作Preparation For Hardware 准备工作准备工作 11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU数据类型数据类型说明说明数据类型数据类型说明说明BTdd位(dd范围:00-15)WD16位4位BCDBUB8位无符号二进制DUB32位无符号二进制BB8位有符号二进制DB32位有符号二进制BD8位2位BCDDD32位8位BCDWUB16位无符号二进制DF32位浮点数WB16位有符号二进制STR字符串11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU寄存器寄存器数据类型数据类型读功能码读功能码写功能码写功能码功能码说明功能码说明操作方操作方式式通道举例通道举例1区输入继电器BT0202:读取输入状态只读10001 表示1区地址10区输出继电器BT01051501:读取线圈状态05:强制单个线圈15:强制多个线圈读写00001 表示0区地址13区输入寄存器BT、WUB、WB、WDDUB、DB、DD、DF、STR0404:读输入寄存器只读30001 表示3区地址14区输出寄存器BT、WUB、WB、WDDUB、DB、DD、DF、STR03061603:读保持寄存器06:预置单个寄存器16:预置多个寄存器读写40001 表示4区地址111.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU莫迪康莫迪康指令指令11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设备命令设备命令 命令格式命令格式命令举例命令举例读取命令ReadRead(寄存器名称,寄存器地址,数据类型=返回值)例例1.1:!SetDevice(设备0,6,Read(0,1,BT00=Data00;1,10,BT00=Data01)读取0区地址为1,1区地址10的继电器值,放入MCGS变量Data00,Data01中。
例例1.2:!SetDevice(设备0,6,Read(4,10,WUB=Data00;4,40,DF=Data01)读取寄存器4区地址10的16位无符号值和地址40的浮点数值,放入MCGS变量Data00,Data01中写入命令WriteWrite(寄存器名称,寄存器地址,数据类型=写入值)例例1.3:!SetDevice(设备0,6,Write(4,10,WUB=Data00;4,40,DF=Data01)将Data00,Data01的值分别以16位无符号和浮点数写入4区寄存器地址10和40中11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设备命令设备命令命令格式命令格式命令举例命令举例32位 读 命令Read32Read32(寄存器名称,寄存器地址,数据类型=字符返回值)例例2.1:!SetDevice(设备0,6,Read32(4,10,DUB=strData)读取4区寄存器中地址10的32位无符号值,放入字符变量strData中32位 写 命令Write32Write32(寄存器名称,寄存器地址,数据类型=字符写入值)例例2.2:!SetDevice(设备0,6,Write32(DM,10,DUB=strData)将字符变量strData的值,以32位无符号格式写入4区寄存器地址1中。
批量读取AReadPReadP(寄存器名称,起始地址,数据类型,数据个数n,数据1,.数据n,返回状态)例例3.1:!SetDevice(设备0,6,ReadP(4,10,WUB,2,Data00,Data01,nReturn)表示读取4区寄存器从地址10开始的两个16位无符号数值,放入MCGS变量Data00,Data01中,执行结果存入变量nReturn中11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设备命令设备命令命令格式命令格式命令举例命令举例批量读取BReadPVReadPV(寄存器名称,起始地址,数据类型,数据个数n,数据1,返回状态)例例3.2:!SetDevice(设备0,6,ReadPV(4,10,WUB,5,Data00,返回值)表示读取4区寄存器从地址10开始的5个16位无符号数值,放入MCGS变量Data00为起始,连续5个变量(即:Data00,Data01,Data02,Data03,Data04)中,结果存入变量“返回值”中批量读取CReadBlockReadBlock(寄存器名称,起始地址,数据类型1数据类型,读取数量n,字符数据,返回状态)说说明明:读取数量是指读取n个数据类型中指定的数据段到字符变量中,数据类型可以有多个,之间用中括号分隔。
实际连续读取个数=读取数量n*(数据类型1+数据类型n)返回数据“字符数据”格式为:123,456,xxx的csv方式,每次读取时以回车换行结尾例例3.3:!SetDevice(设备0,6,ReadBlock(4,10,WUBDF,3,strData)表示读取4区寄存器从地址10开始,按WBU,DF格式连续读取3组数据(即:数据格式为WUB,DF,WUB,DF,WUB,DF),以相应格式解析并以逗号间隔的CSV格式存入字符变量StrData中11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设设 备备 命命令令命令格式命令格式命令举例命令举例批 量 写入A:WritePWriteP(寄存器名称,起始地址,数据类型,数据个数n,数据1,.数据n,返回状态)例例4.1:!SetDevice(设备0,6,WriteP(4,10,WUB,2,Data00,Data01,nReturn)表示将MCGS变量Data00,Data01的值,以16位无符号形式写入4区寄存器从地址10起始的两个寄存器中,执行结果存入变量nReturn中批 量 写入B:WritePVWritePV(寄存器名称,起始地址,数据类型,数据个数n,数据1,返回状态)例例4.2:!SetDevice(设备0,6,WritePV(4,10,WUB,5,Data00,nReturn)表 示 将 以 MCGS变 量 Data01为 起 始,连 续 5个 变 量 的 值(即:Data00,Data01,Data02,Data03,Data04),以16位无符号形式写入4区寄存器从地址10起始的两个寄存器中,执行结果存入变量nReturn中。
批 量 写入C:WriteBlockWriteBlock(寄存器名称,起始地址,数据类型1数据类型,读取数量n,字符数据,返回状态)说说明明:写入的数据在指定的字符数据对象中,格式为:xxx,xxx,xxx的csv方式,每次读取时换行以回车换行结尾其他具体格式参见ReadBlock例例4.3:!SetDevice(设备0,6,WriteBlock(4,10,WUBDF,3,strData)表示将strData字符变量中的CSV格式的数据,按指定格式,写入4区寄存器从地址10开始的连续地址中11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设备命令设备命令命令格式命令格式命令举例命令举例批量写入D:WriteMutiRegWriteMutiReg(寄存器名称,起始地址,数据个数n,数据类型,字符数据)说说明明:按指定数据类型将字符数据中以逗号间隔的n个数据,批量写入起始地址开始连续地址的n个数据到字符变量数据中,数据间以逗号间隔例例4.4:!SetDevice(设备0,6,WriteMutiReg(4,10,5,DF,strData)其中字符变量strData=“123.4,234.5,345.6,456.,表示将字符串变量strData中以逗号间隔形式的123.4等5个数据,以浮点数形式写入4区寄存器从地址10开始连续5个地址中。
11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设设备备命令命令命令格式命令格式命令举例命令举例通信日志SetHiddenPro(1,属性值)开启通信日志开启通信日志:!SetDevice(设备0,6,SetHiddenPro(1,1)开启错误日志开启错误日志:!SetDevice(设备0,6,SetHiddenPro(1,2)关闭通信日志关闭通信日志:!SetDevice(设备0,6,SetHiddenPro(1,0)属性获取GetHiddenPro(1,属性值)读取通信日志状态:读取通信日志状态:!SetDevice(设备0,6,GetHiddenPro(1,Data01)Data01为1时,表示通信日志开启;为0时,表示通信日志关闭读取读取PLC延时:延时:!SetDevice(设备0,6,GetHiddenPro(2,Data01)读取PLC实际的响应延迟时间,存入变量Data01中读取最小采集耗时:读取最小采集耗时:!SetDevice(设备0,6,GetHiddenPro(3,Data01)读取采集最小数据(1字长数据)所用耗时,存入变量Data01中。
11.1 Modicon Modbus RTU 莫迪康莫迪康ModbusRTU设设 备备 地地址址行号行号操作时间操作时间发发/收收时时间间发发/收次数收次数字字 节节 长长度度耗时耗时发送或接收内容发送或接收内容Address:01Line001(2007-12-05 6:21:51)1289961Send0/Revc08 Byte20ms 010200000001B9CA11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入温湿度传感器温湿度传感器11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入一、台式机一、台式机COM口连接口连接48511.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入二、二、USB转转485接口接口11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入485的的“+”485的的“-”11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入参数参数参数值参数值说明说明波特率出厂默认值为4800 Baud/s2400Baud/s、4800Baud/s、9600 Baud/s 可选数据位8位奇偶校验位无停止位1位11.2 Input Of Temperature and Humidity Signal 温湿度信号输入温湿度信号输入温湿度传感器指令温湿度传感器指令。