mbpoll 技术文档

mbpoll 技术文档

mbpoll command line utility to communicate with ModBus slave (RTU or TCP) mbpoll 项目地址: https://gitcode.com/gh_mirrors/mb/mbpoll


概览

mbpoll 是一个命令行工具,用于通过 ModBus 协议(RTU 或 TCP 方式)与从站设备通信。这是一个跨平台项目,已在 GNU/Linux(x86, x86_64, armhf, arm64)、Microsoft Windows 和 Mac OS X 上进行过编译测试。主要版本1的开发已完成,而使用libmodbuspp的版本2正在开发中。

mbpoll能够实现的功能包括:

  • 读取离散输入
  • 读写二进制输出(线圈)
  • 读取输入寄存器
  • 读写输出寄存器(保持寄存器)

寄存器的读写可以以十进制、十六进制或单精度浮点数格式进行。

请注意,尽管mbpoll的输出语法和命令行选项类似proconX发布的原始modpoll程序,但它是完全独立的项目,并且基于不同的源代码。mbpoll遵循GPL许可证发布,而原始modpoll程序则不受GPL覆盖。


安装指南

使用APT仓库安装(推荐)

对于快速安全地安装mbpoll,推荐使用来自piduino.org的APT仓库:

  1. 添加密钥:

    wget -O- http://www.piduino.org/piduino-key.asc | sudo apt-key add -
    
  2. 添加仓库并更新包列表(这里以Debian Stretch为例,其他版本替换相应代号):

    sudo add-apt-repository 'deb http://apt.piduino.org stretch piduino'
    sudo apt update
    
  3. 安装mbpoll及其依赖:

    sudo apt install mbpoll
    

对于Raspbian,流程稍有不同,需要这样操作:

echo 'deb http://raspbian.piduino.org stretch piduino' | sudo tee /etc/apt/sources.list.d/piduino.list
sudo apt update
sudo apt install mbpoll

从源码构建

环境准备:
  1. 安装libmodbus(>=3.1.4版本):

    $ sudo apt-get install build-essential libtool git-core autoconf automake
    $ git clone https://github.com/stephane/libmodbus.git
    $ cd libmodbus
    $ ./autogen.sh
    $ ./configure
    $ make && sudo make install
    
  2. (可选,如果你需要RS485通过GPIO管理)安装piduino:

    $ sudo apt-get install cmake libcppdb-dev pkg-config libsqlite3-dev sqlite3 libudev-dev
    $ git clone https://github.com/epsilonrt/piduino.git
    $ cd piduino 
    $ git checkout dev
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ sudo make install
    
  3. 构建mbpoll:

    $ sudo apt-get install cmake pkg-config
    $ cd mbpoll
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ sudo make install
    $ sudo ldconfig
    

或者,你可以生成并安装 deb 包:

$ make package
$ sudo dpkg -i *.deb

项目使用说明

mbpoll允许通过命令行接口与ModBus设备交互,以下为基本用法示例,阅读输入寄存器1和2于地址33的从站,通过RTU连接在 /dev/ttyUSB2 上,波特率为38400:

$ mbpoll -a 33 -b 38400 -t 3 -r 1 -c 2 /dev/ttyUSB2

此命令将持续输出寄存器值,直到按下Ctrl+C停止。


项目API使用文档

mbpoll本身作为一个命令行工具,不直接提供编程API,其功能调用是通过命令行参数来实现的。不过,它背后的libmodbus库提供了API给开发者使用。要深入了解libmodbus API,建议直接参考libmodbus项目的官方文档和头文件中的函数定义。


总结

mbpoll是一个强大的ModBus协议工具,适用于多种场景下的设备通讯。无论是通过便捷的仓库安装还是手动编译,用户都可以迅速集成到自己的系统中。利用其丰富的命令行选项,可以灵活地读写ModBus寄存器,非常适合自动化控制和工业数据采集应用。深入研究其使用方法和结合libmodbus的底层API,可以帮助开发者创建更复杂、定制化的ModBus解决方案。

mbpoll command line utility to communicate with ModBus slave (RTU or TCP) mbpoll 项目地址: https://gitcode.com/gh_mirrors/mb/mbpoll

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦格婷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值