对从机发起请求 系列API
MBx_Master_Read_Coil_Request
uint32_t MBx_Master_Read_Coil_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t ReadNum);
MBX 主机发出一条读线圈请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:读取起始地址。
- ReadNum:读取数量。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Read_Disc_Input_Request
uint32_t MBx_Master_Read_Disc_Input_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t ReadNum);
MBX 主机发出一条读离散输入请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:读取起始地址。
- ReadNum:读取数量。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Read_Reg_Request
uint32_t MBx_Master_Read_Reg_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t ReadNum);
MBX 主机发出一条读保持寄存器请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:读取起始地址。
- ReadNum:读取数量。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Read_Input_Reg_Request
uint32_t MBx_Master_Read_Input_Reg_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t ReadNum);
MBX 主机发出一条读输入寄存器请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:读取起始地址。
- ReadNum:读取数量。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Write_Coil_Request
uint32_t MBx_Master_Write_Coil_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t Addr,
uint16_t Value);
MBX 主机发出一条写单个线圈请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- Addr:写入地址。
- Value:写入值。写入线圈,本质上只有0与大于0,程序会自动处理格式化请求。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Write_Reg_Request
uint32_t MBx_Master_Write_Reg_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t Addr,
uint16_t Value);
MBX 主机发出一条写单个保持寄存器请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- Addr:写入地址。
- Value:写入值。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Write_Coil_Mul_Request
uint32_t MBx_Master_Write_Coil_Mul_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t WriteNum,
uint8_t *Data,
uint16_t DataLen);
MBX 主机发出一条写多个线圈请求 ,Data、DataLen传参需要自行格式化 见其中关于"(0x0F)写多个线圈的格式 "
modbus协议介绍
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:写入起始地址。
- WriteNum:写入数量。
- Data:写入数据起始指针。
- DataLen:写入数据长度[字节数]。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。
MBx_Master_Write_Reg_Mul_Request
uint32_t MBx_Master_Write_Reg_Mul_Request(_MBX_MASTER *pMaster,
uint8_t SlaveID,
uint16_t StartAddr,
uint16_t WriteNum,
uint8_t *Data,
uint16_t DataLen);
MBX 主机发出一条写多个保持寄存器请求
传参
- MBxMaster:期望发出请求的MBX主机对象指针。
- SlaveID:期望请求的从机号。
- StartAddr:写入起始地址。
- WriteNum:写入数量。
- Data:写入数据起始指针。
- DataLen:写入数据长度[字节数]。
返回值
- MBX_API_RETURN_DEFAULT(0x00):正常返回。
- MBX_API_RETURN_BUFFER_FULL(0x20):队列已满。
- MBX_API_RETURN_MAP_UNFIND(0x102):未查找到合适的MAP,通常意味着从机号错误、或请求地址在地址映射表中未定义。