libmodbus学习(一)之Modbus RTU |
您所在的位置:网站首页 › EasyModbus多站轮询 › libmodbus学习(一)之Modbus RTU |
一、Modbus 协议
Modbus簇主要有三种协议:Modbus-RTU、Modbus-ASCII、Modbus-TCP 工控行业通常的设备组网看,三者应用的范围如下: 三者模型区别如下: 如上图所示,串行传输的物理层是RS-485或RS-232,数据链路层是Modbus的串行传输协议;Modbus TCP传输的1、2、3、4层实现和日常所见的以太网、因特网一样,Modbus默认采用的TCP端口号是502。 三者报文格式的区别如下: RTU相比较ASCII具备更紧凑的报文流,传输效率更高,目前MODBUS-ASCII已经应用较少。 Modbus的操作对象有4种:线圈、离散输入、保持寄存器、输入寄存器。 常用功能码如下: 二、安装移植libmodbuslibmodbus安装编译见: https://www.cnblogs.com/bliss-/p/12376424.html ##三、libmodbus API #####1 .初始化 /* 以TCP的方式创建libmobus实例 char *ip:连接的IP地址 int port: 连接的IP端口 */ modbus_t *modbus_new_tcp(const char *ip, int port); /* 以串口的方式创建libmobu |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |