代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。