# modbus-test **Repository Path**: chenwaichung/modbus-test ## Basic Information - **Project Name**: modbus-test - **Description**: modbus命令行测试工具 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-22 - **Last Updated**: 2024-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # modbus-test #### 介绍 modbus命令行读取测试工具,支持Modbus RTU、ASCII、TCP、RTU over TCP和ASCII over TCP模式 #### 构建方法 1. 下载依赖 ```bash go mod tidy ``` 2. 构建程序 ```bash bash ./build.sh ``` #### 参数说明 ``` Usage: modbus-test-linux-amd64 [--id ID] [--connector CONNECTOR] [--mode MODE] [--rs485] [--addr ADDR] [--quantity QUANTITY] [--func FUNC] [--baudrate BAUDRATE] [--databits DATABITS] [--stopbits STOPBITS] [--parity PARITY] Options: --id ID Modbus从机地址,默认:1 [default: 1] --connector CONNECTOR 连接地址,串口连接示例:COM1、/dev/ttyS0 、 /usr/dev/serial/COM1,IP连接示例:192.168.100.108:10001 --mode MODE 连接模式,默认:RTU(可选:RTU、ASCII、TCP、RTUoverTCP、ASCIIoverTCP,其中RTU和ASCII是串口连接,其它都是IP连接) --addr ADDR Modbus寄存器地址(10进制格式):默认:0 --quantity QUANTITY Modbus读取的寄存器数量:默认:10 --func FUNC Modbus功能码:默认:03(可选:01、02、03、04) --baudrate BAUDRATE 串口波特率:默认:9600(可选:1200、2400、4800、9600、19200、38400、115200) --databits DATABITS 串口数据位:默认:8(可选:5、6、7、8) --stopbits STOPBITS 串口停止位:默认:1(可选:1、2) --parity PARITY 串口奇偶校验:默认:N(可选:N(无校验)、 E(偶校验)、O(奇校验)) ``` ### 使用示例 1. 调用串口号/dev/ttyUSB0,读取一个温湿度地址2,寄存器地址30001和30002,功能码04、波特率9600的RTU模式的命令示例: ```bash ./modbus-test-linux-arm64 --id 2 --addr 0 --quantity 2 --func 04 --connector "/dev/ttyS0" ``` 2. 串口服务器连接192.168.100.108,端口10001,读取一个温湿度地址2,寄存器地址30001和30002,功能码04的RTUoverTCP模式的命令示例: ```bash ./modbus-test-linux-arm64 --id 2 --addr 0 --quantity 2 --func 04 --connector "192.168.100.108:10001" --mode RTUoverTCP ``` 3. 连接192.168.100.109,端口502,读取一个温湿度地址2,寄存器地址30001和30002,功能码04的标准Modbus TCP模式的命令示例: ```bash ./modbus-test-linux-arm64 --id 2 --addr 0 --quantity 2 --func 04 --connector "192.168.100.109:502" --mode TCP ```