modbus

package
v0.1.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client encapsulates a Modbus client with thread-safe operations.

func NewClient

func NewClient(cfg Config) (*Client, error)

NewClient creates and initializes a new Modbus client.

func (*Client) ReadCoil

func (c *Client) ReadCoil(addr uint16) (value bool, err error)

ReadCoil reads a single coil (0x01).

func (*Client) ReadCoils

func (c *Client) ReadCoils(addr, quantity uint16) ([]bool, error)

ReadCoils reads multiple coils (0x01).

func (*Client) ReadDiscreteInputs

func (c *Client) ReadDiscreteInputs(addr, quantity uint16) ([]bool, error)

ReadDiscreteInputs reads discrete inputs (0x02).

func (*Client) ReadHoldingRegisters

func (c *Client) ReadHoldingRegisters(addr, quantity uint16) ([]uint16, error)

ReadHoldingRegisters reads holding registers (0x03).

func (*Client) ReadInputRegisters

func (c *Client) ReadInputRegisters(addr, quantity uint16) ([]uint16, error)

ReadInputRegisters reads input registers (0x04).

func (*Client) WriteCoil

func (c *Client) WriteCoil(addr uint16, value bool) error

WriteCoil writes a single coil (0x05).

func (*Client) WriteCoils

func (c *Client) WriteCoils(addr uint16, values []bool) error

WriteCoils writes multiple coils (0x0F).

func (*Client) WriteMultipleRegisters

func (c *Client) WriteMultipleRegisters(addr uint16, values []uint16) error

WriteMultipleRegisters writes multiple registers (0x10).

func (*Client) WriteSingleRegister

func (c *Client) WriteSingleRegister(addr, value uint16) error

WriteSingleRegister writes a single register (0x06).

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 Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager 管理多个 Modbus 客户端

func NewManager

func NewManager() *Manager

NewManager 创建管理器

func (*Manager) AddClient

func (m *Manager) AddClient(name string, client *Client)

AddClient 添加客户端

func (*Manager) CloseAll

func (m *Manager) CloseAll()

CloseAll 关闭所有客户端

func (*Manager) GetClient

func (m *Manager) GetClient(name string) (*Client, bool)

GetClient 获取客户端

func (*Manager) RemoveClient

func (m *Manager) RemoveClient(name string)

RemoveClient 删除并关闭客户端

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL