1 Star 1 Fork 0

sevpinna / gModbus

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
gModbus.go 1.29 KB
一键复制 编辑 原始数据 按行查看 历史
sevpinna 提交于 2022-02-08 09:01 . 模块修正2
package gModbus
import (
"gitee.com/sevpinna/gModbus/Comm"
"gitee.com/sevpinna/gModbus/ModbusRtu"
"gitee.com/sevpinna/gModbus/ModbusTcp"
"github.com/tarm/serial"
"time"
)
func CreateModbusTcpClient(ip string, autoReconnect bool, Timeout int) (modbusTcp *ModbusTcp.ModbusTcp) {
return &ModbusTcp.ModbusTcp{Ip: ip, AutoReConnect: autoReconnect, Timeout: Timeout}
}
func CreateModbusRtuClient(name string, baud int, parity byte, stopBits byte, readTimeout int) (modbusRtu *ModbusRtu.ModbusRtu) {
return &ModbusRtu.ModbusRtu{Name: name, Baud: baud, Parity: serial.Parity(parity), StopBits: serial.StopBits(stopBits),
ReadTimeout: time.Duration(readTimeout) * time.Microsecond}
}
func CreateModbusClient(Type string, option Comm.Option) (modbus Comm.ModbusMaster) {
switch Type {
case "tcp":
modbus = CreateModbusTcpClient(option.Ip, option.AutoReconnect, option.Timeout) //&ModbusTcp.ModbusTcp{Ip: option.Ip, AutoReConnect: option.AutoReconnect}
case "rtu":
modbus = CreateModbusRtuClient(option.Serial, option.Baud, option.Parity, option.StopBits, option.Timeout)
//&ModbusRtu.ModbusRtu{Name: option.Serial, Baud: option.Baud, Parity: serial.Parity(option.Parity), StopBits: serial.StopBits(option.StopBits),
//ReadTimeout: time.Duration(option.ReadTimeout) * time.Microsecond}
}
return modbus
}
Go
1
https://gitee.com/sevpinna/gModbus.git
git@gitee.com:sevpinna/gModbus.git
sevpinna
gModbus
gModbus
v0.1.0

搜索帮助