types

package
v1.1.8 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: GPL-3.0 Imports: 4 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Calculator

type Calculator struct {
	Name       string `json:"name"`       //赋值
	Expression string `json:"expression"` //表达式
}

type Client

type Client struct {
	Tunnel `xorm:"extends"`
	Retry  `xorm:"extends"`
	Net    string `json:"net,omitempty"`  //类型 tcp udp
	Addr   string `json:"addr,omitempty"` //地址,主机名或IP
	Port   uint16 `json:"port,omitempty"` //端口号
}

type DefaultDevice

type DefaultDevice struct {
	Slave     uint8  `json:"slave"`          //从站号
	Name      string `json:"name,omitempty"` //名称
	ProductId string `json:"product_id"`     //产品ID
}

type Device

type Device struct {
	Id string `json:"id" xorm:"pk"`

	Name string `json:"name,omitempty"` //名称
	Desc string `json:"desc,omitempty"` //说明

	TunnelId  string `json:"tunnel_id"`  //通道
	ProductId string `json:"product_id"` //产品ID

	Slave    uint `json:"slave"` //从站号
	Disabled bool `json:"disabled"`

	Online bool `json:"online" xorm:"-"`

	Created time.Time `json:"created" xorm:"created"`
}

type Filter added in v1.0.5

type Filter struct {
	Name       string `json:"name"`       //字段
	Expression string `json:"expression"` //表达式

}
type Link struct {
	Tunnel   `xorm:"extends"`
	ServerId string `json:"server_id" xorm:"index"` //服务器ID
	Remote   string `json:"remote,omitempty"`       //远程地址
}

type Mapper

type Mapper struct {
	Code   uint8   `json:"code"`   //指令
	Addr   uint16  `json:"addr"`   //地址
	Size   uint16  `json:"size"`   //长度
	Points []Point `json:"points"` //数据点
}

func (*Mapper) Encode added in v1.0.8

func (m *Mapper) Encode(name string, data any) []byte

func (*Mapper) Parse

func (m *Mapper) Parse(buf []byte, ret map[string]interface{})

type Point

type Point struct {
	Name      string  `json:"name"`           //名称
	Type      string  `json:"type"`           //类型
	Offset    uint16  `json:"offset"`         //偏移
	Bits      uint16  `json:"bits,omitempty"` //位,1 2 3...
	BigEndian bool    `json:"be,omitempty"`   //大端模式
	Rate      float64 `json:"rate,omitempty"` //倍率
}

type Poller

type Poller struct {
	PollerPeriod   uint `json:"poller_period,omitempty"`   //采集周期
	PollerInterval uint `json:"poller_interval,omitempty"` //采集间隔
}

type Product

type Product struct {
	Id   string `json:"id" xorm:"pk"`
	Name string `json:"name,omitempty"` //名称
	Desc string `json:"desc,omitempty"` //说明
	//model.Product `xorm:"extends"`
	Mappers     []Mapper     `json:"mappers" xorm:"json"`
	Filters     []Filter     `json:"filters" xorm:"json"`
	Calculators []Calculator `json:"calculators" xorm:"json"`
	Created     time.Time    `json:"created" xorm:"created"` //创建时间
}

type Protocol

type Protocol struct {
	ProtocolName    string `json:"protocol_name,omitempty"`    //协议 rtu tcp parallel-tcp
	ProtocolOptions string `json:"protocol_options,omitempty"` //协议参数
}

type Retry

type Retry struct {
	RetryTimeout uint `json:"retry_timeout,omitempty"` //重试时间
	RetryMaximum uint `json:"retry_maximum,omitempty"` //最大次数
}

type Serial

type Serial struct {
	Tunnel        `xorm:"extends"`
	Retry         `xorm:"extends"`
	SerialOptions `xorm:"extends"`
}

type SerialOptions

type SerialOptions struct {
	PortName   string `json:"port_name,omitempty"`   //port, e.g. COM1 "/dev/ttySerial1".
	BaudRate   uint   `json:"baud_rate,omitempty"`   //9600 115200
	DataBits   uint   `json:"data_bits,omitempty"`   //5 6 7 8
	StopBits   uint   `json:"stop_bits,omitempty"`   //1 2
	ParityMode int    `json:"parity_mode,omitempty"` //0 1 2 NONE ODD EVEN
}

type Server

type Server struct {
	Tunnel     `xorm:"extends"`
	Port       uint16          `json:"port,omitempty"`       //监听端口
	Standalone bool            `json:"standalone,omitempty"` //单例模式(不支持注册)
	Devices    []DefaultDevice `json:"devices,omitempty" xorm:"json"`
}

type Tunnel

type Tunnel struct {
	Id   string `json:"id,omitempty" xorm:"pk"` //ID
	Name string `json:"name,omitempty"`         //名称
	Desc string `json:"desc,omitempty"`         //说明

	Heartbeat string `json:"heartbeat,omitempty"` //心跳包

	Protocol `xorm:"extends"`
	Poller   `xorm:"extends"`

	Running bool `json:"running,omitempty" xorm:"-"`

	Disabled bool      `json:"disabled"`
	Created  time.Time `json:"created" xorm:"created"` //创建时间
}

Jump to

Keyboard shortcuts

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