在Ubuntu 22.04上安装和使用Libmodbus库的步骤如下:
- 安装libmodbus库:
sudo apt-update
sudo apt-get install libmodbus-dev
- 编写一个简单的Modbus TCP客户端示例代码:
#include <stdio.h>
#include <modbus/modbus.h>
int main() {
int rc;
modbus_t *ctx = modbus_new_tcp("127.0.0.1", 502);
if (ctx == NULL) {
fprintf(stderr, "Unable to allocate libmodbus context\n");
return -1;
}
if (modbus_connect(ctx) == -1) {
fprintf(stderr, "Unable to connect: %s\n", modbus_strerror(errno));
modbus_free(ctx);
return -1;
}
uint16_t tab_reg[3];
rc = modbus_read_registers(ctx, 0, 3, tab_reg);
if (rc == -1) {
fprintf(stderr, "%s\n", modbus_strerror(errno));
return -1;
}
printf("Register 0: %d\nRegister 1: %d\n", tab_reg[0], tab_reg[1]);
modbus_close(ctx);
modbus_free(ctx);
return 0;
}
- 编译示例代码:
gcc -o modbus-tcp-client modbus-tcp-client.c -lmodbus
- 运行客户端程序:
./modbus-tcp-client
确保Modbus服务器端在运行,并且客户端的IP地址和端口与服务器端的信息匹配。上述代码示例展示了如何创建一个简单的Modbus TCP客户端,连接到服务器,并读取3个寄存器的值。