Documentation
¶
Index ¶
- type Client
- type Config
- type KeepAliveClient
- func (w *KeepAliveClient) Close()
- func (w *KeepAliveClient) ReadCoil(addr uint16) (bool, error)
- func (w *KeepAliveClient) ReadCoils(addr, quantity uint16) ([]bool, error)
- func (w *KeepAliveClient) ReadDiscreteInput(addr uint16) (bool, error)
- func (w *KeepAliveClient) ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)
- func (w *KeepAliveClient) ReadHoldingRegister(addr uint16) (uint16, error)
- func (w *KeepAliveClient) ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)
- func (w *KeepAliveClient) ReadInputRegister(addr uint16) (uint16, error)
- func (w *KeepAliveClient) ReadInputRegisters(addr, quantity uint16) ([]uint16, error)
- func (w *KeepAliveClient) WriteCoil(addr uint16, value bool) error
- func (w *KeepAliveClient) WriteCoils(addr uint16, values []bool) error
- func (w *KeepAliveClient) WriteHoldRegister(addr uint16, value uint16) error
- func (w *KeepAliveClient) WriteHoldRegisters(addr uint16, values []uint16) error
- type Manager
- type ReconnectClient
- func (c *ReconnectClient) ReadCoil(addr uint16) (value bool, err error)
- func (c *ReconnectClient) ReadCoils(addr, quantity uint16) ([]bool, error)
- func (c *ReconnectClient) ReadDiscreteInput(addr uint16) (value bool, err error)
- func (c *ReconnectClient) ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)
- func (c *ReconnectClient) ReadHoldingRegister(addr uint16) (value uint16, err error)
- func (c *ReconnectClient) ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)
- func (c *ReconnectClient) ReadInputRegister(addr uint16) (value uint16, err error)
- func (c *ReconnectClient) ReadInputRegisters(addr, quantity uint16) ([]uint16, error)
- func (c *ReconnectClient) WriteCoil(addr uint16, value bool) error
- func (c *ReconnectClient) WriteCoils(addr uint16, values []bool) error
- func (c *ReconnectClient) WriteHoldRegister(addr uint16, values uint16) error
- func (c *ReconnectClient) WriteHoldRegisters(addr uint16, values []uint16) error
- func (c *ReconnectClient) WriteMultipleRegisters(addr uint16, values []uint16) error
- func (c *ReconnectClient) WriteSingleRegister(addr, value uint16) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
ReadCoil(addr uint16) (value bool, err error)
ReadCoils(addr, quantity uint16) ([]bool, error)
WriteCoil(addr uint16, value bool) error
WriteCoils(addr uint16, values []bool) error
ReadDiscreteInput(addr uint16) (value bool, err error)
ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)
ReadHoldingRegister(addr uint16) (uint16, error)
ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)
WriteHoldRegister(addr uint16, values uint16) error
WriteHoldRegisters(addr uint16, values []uint16) error
ReadInputRegister(addr, quantity uint16) (uint16, error)
ReadInputRegisters(addr, quantity uint16) ([]uint16, error)
}
type Config ¶
type Config struct {
URL string
Speed uint
DataBits uint
Parity uint
StopBits uint
Timeout time.Duration
EnableTLS bool
Cert string
Key string
SlaveID uint8
MaxRetries int
RetryTimeout time.Duration
}
Config defines the configuration for the Modbus client.
type KeepAliveClient ¶
type KeepAliveClient struct {
// contains filtered or unexported fields
}
KeepAliveClient 封装 modbus.ModbusClient,实现长连接和重连
func NewKeepAliveClient ¶
func NewKeepAliveClient(cfg Config) (*KeepAliveClient, error)
NewKeepAliveClient 创建新的 Modbus 客户端
func (*KeepAliveClient) ReadCoils ¶
func (w *KeepAliveClient) ReadCoils(addr, quantity uint16) ([]bool, error)
func (*KeepAliveClient) ReadDiscreteInput ¶
func (w *KeepAliveClient) ReadDiscreteInput(addr uint16) (bool, error)
func (*KeepAliveClient) ReadDiscreteInputs ¶
func (w *KeepAliveClient) ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)
func (*KeepAliveClient) ReadHoldingRegister ¶
func (w *KeepAliveClient) ReadHoldingRegister(addr uint16) (uint16, error)
func (*KeepAliveClient) ReadHoldingRegisters ¶
func (w *KeepAliveClient) ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)
func (*KeepAliveClient) ReadInputRegister ¶
func (w *KeepAliveClient) ReadInputRegister(addr uint16) (uint16, error)
func (*KeepAliveClient) ReadInputRegisters ¶
func (w *KeepAliveClient) ReadInputRegisters(addr, quantity uint16) ([]uint16, error)
func (*KeepAliveClient) WriteCoil ¶
func (w *KeepAliveClient) WriteCoil(addr uint16, value bool) error
func (*KeepAliveClient) WriteCoils ¶
func (w *KeepAliveClient) WriteCoils(addr uint16, values []bool) error
func (*KeepAliveClient) WriteHoldRegister ¶
func (w *KeepAliveClient) WriteHoldRegister(addr uint16, value uint16) error
func (*KeepAliveClient) WriteHoldRegisters ¶
func (w *KeepAliveClient) WriteHoldRegisters(addr uint16, values []uint16) error
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager 管理多个 Modbus 客户端
type ReconnectClient ¶
type ReconnectClient struct {
// contains filtered or unexported fields
}
ReconnectClient encapsulates a Modbus client with thread-safe operations.
func NewReconnectClient ¶
func NewReconnectClient(cfg Config) (*ReconnectClient, error)
NewReconnectClient creates and initializes a new Modbus client. Use in no real-time environments.
func (*ReconnectClient) ReadCoil ¶
func (c *ReconnectClient) ReadCoil(addr uint16) (value bool, err error)
ReadCoil reads a single coil (0x01).
func (*ReconnectClient) ReadCoils ¶
func (c *ReconnectClient) ReadCoils(addr, quantity uint16) ([]bool, error)
ReadCoils reads multiple coils (0x01).
func (*ReconnectClient) ReadDiscreteInput ¶
func (c *ReconnectClient) ReadDiscreteInput(addr uint16) (value bool, err error)
func (*ReconnectClient) ReadDiscreteInputs ¶
func (c *ReconnectClient) ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)
ReadDiscreteInputs reads discrete inputs (0x02).
func (*ReconnectClient) ReadHoldingRegister ¶
func (c *ReconnectClient) ReadHoldingRegister(addr uint16) (value uint16, err error)
func (*ReconnectClient) ReadHoldingRegisters ¶
func (c *ReconnectClient) ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)
ReadHoldingRegisters reads holding registers (0x03).
func (*ReconnectClient) ReadInputRegister ¶
func (c *ReconnectClient) ReadInputRegister(addr uint16) (value uint16, err error)
func (*ReconnectClient) ReadInputRegisters ¶
func (c *ReconnectClient) ReadInputRegisters(addr, quantity uint16) ([]uint16, error)
ReadInputRegisters reads input registers (0x04).
func (*ReconnectClient) WriteCoil ¶
func (c *ReconnectClient) WriteCoil(addr uint16, value bool) error
WriteCoil writes a single coil (0x05).
func (*ReconnectClient) WriteCoils ¶
func (c *ReconnectClient) WriteCoils(addr uint16, values []bool) error
WriteCoils writes multiple coils (0x0F).
func (*ReconnectClient) WriteHoldRegister ¶
func (c *ReconnectClient) WriteHoldRegister(addr uint16, values uint16) error
func (*ReconnectClient) WriteHoldRegisters ¶
func (c *ReconnectClient) WriteHoldRegisters(addr uint16, values []uint16) error
func (*ReconnectClient) WriteMultipleRegisters ¶
func (c *ReconnectClient) WriteMultipleRegisters(addr uint16, values []uint16) error
WriteMultipleRegisters writes multiple registers (0x10).
func (*ReconnectClient) WriteSingleRegister ¶
func (c *ReconnectClient) WriteSingleRegister(addr, value uint16) error
WriteSingleRegister writes a single register (0x06).