libmodbus学习(一)之Modbus RTU

您所在的位置:网站首页 EasyModbus多站轮询 libmodbus学习(一)之Modbus RTU

libmodbus学习(一)之Modbus RTU

2023-10-29 04:18| 来源: 网络整理| 查看: 265

一、Modbus 协议

Modbus簇主要有三种协议:Modbus-RTU、Modbus-ASCII、Modbus-TCP 工控行业通常的设备组网看,三者应用的范围如下: image.png 三者模型区别如下: image.png 如上图所示,串行传输的物理层是RS-485或RS-232,数据链路层是Modbus的串行传输协议;Modbus TCP传输的1、2、3、4层实现和日常所见的以太网、因特网一样,Modbus默认采用的TCP端口号是502。

三者报文格式的区别如下: image.png RTU相比较ASCII具备更紧凑的报文流,传输效率更高,目前MODBUS-ASCII已经应用较少。

Modbus的操作对象有4种:线圈、离散输入、保持寄存器、输入寄存器。 image.png 常用功能码如下: image.png

二、安装移植libmodbus

libmodbus安装编译见: 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