资源描述:
《MODBUS SDK用户手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、V1.00ZModbusSdk配置函数库使用手册1函数库说明31.1简介:31.2提供的函数接口31.2.1以太网链路连接31.2.2串口链路连接41.2.3以太网与串口链路断开连接51.2.4以太网与串口链路的数据采集(读写)52错误代码111函数库说明1.1简介:ZModbusSdk函数库为标准的MODBUS(主机)协议提供函数接口。开发人员可以使用此函数库方便开发出遵循MODBUS协议的程序。如果需要开发MODBUS从机程序,开发人员需要使用其他的函数库或方法。函数库在连接时使用对不同的链路
2、层提供不同的函数接口如:以太网的为:ZMB_TCPConnectMDBServer,串口的为:ZMB_SerConnectMDBServer。其他的函数接口都相同,不区分连接链路。(本文档中使用的术语服务器对应MODBUS协议里的从机模块,客户机对应MODBUS协议里的主机模块)1.2提供的函数接口ZModbusSdk提供了连接到从机(服务器)和读写线圈与寄存器的函数接口。1.2.1以太网链路连接ØZMB_TCPConnectMDBServer描述调用此函数连接到从机模块(或服务器)。HANDLE
3、ZMB_TCPConnectMDBServer(char*szIp,intnDstPort,intnConnTimeout);参数szIp指定要进行连接的从机(服务器)的IP地址。nDstPort指定从机的端口号。nConnTimeout指定连接超时。返回值返回“非NULL”表示成功,否则为错误。1.1.1串口链路连接ØZMB_SerConnectMDBServer(串口主机使用)描述调用此函数连接到从机模块(或服务器)。使用者应该注意对于串口的操作每个串口在同一时间只能打开一次,因此在操作串口时
4、应该控制号程序使它每次只打开一次。HANDLEZMB_SerConnectMDBServer(intiRtuAscii,char*szCom,intiBautRate,intiByteSize,intiParity,intiStopBits,intiDtrCtl,intiRtsCtl,intiCtsCtl,intiDsrCtl,intiResponse);参数iRtuAscii模块工作方式:RTU:0,ASCII:1szCom需要打开的计算机串口。”COM1”,”COM2”,……iBautRate
5、模块工作的波特率。9600,19200,……iByteSize模块工作的数据位。数据位数(字节表示4-8位)iParity模块工作的校验位,奇偶校验0-4:表示:不校验,奇校验,偶校验,标号,空格iStopBits模块工作的停止位,0(ONESTOPBIT)表示1个停止位,1(ONE5STOPBITS)表示1.5个停止位,2(TWOSTOPBITS)表示2个停止位iDtrCtl模块是否需要DTR控制,0不需要,1需要iRtsCtl模块是否需要RTS控制,0不需要,1需要iCtsCtl模块是否需要C
6、TS控制,0不需要,1需要iDsrCtl模块是否需要Dsr控制,0不需要,1需要iResponse模块的超时响应,默认1000ms返回值返回“非NULL”表示成功,否则为失败。1.1.1以太网与串口链路断开连接ØZMB_DisConnectMDBServer描述调用此函数断开和从机的连接。voidZMB_DisConnectMDBServer(HANDLEhHand);参数hHand此handle是ConnectMDBServer操作的返回值。返回值无。1.1.2以太网与串口链路的数据采集(读写)
7、ØZMB_ReadCoil描述调用此函数按参数中的ID号和地址读取线圈状态。longZMB_ReadCoil(HANDLEhand,BYTEserID,intnStart,intnCount,BYTE*bRet/*arrofcoils*/,WORDTranID);参数hand此handle是ConnectMDBServer操作的返回值。serID设备ID号。nStart线圈的起始地址。nCount线圈的个数。bRet返回的线圈状态,已分配号的数组地址。TranID在TCP的MODBUS协议里需要用
8、到任务ID号,如果为0使用系统自生成的,串口MODBUS此参数无效。返回值返回0表示成功,否则为错误码。ØZMB_ReadInput描述调用此函数按参数中的ID号和地址读取线圈状态(离散输入量数据)。longZMB_ReadInput(HANDLEhand,BYTEserID,intnStart,intnCount,BYTE*bRet/*arrofcoils*/,WORDTranID);参数hand此handle是ConnectMDBServer操作的返回值。serID设备ID号。