Categorygithub.com/mrzwzw/IEC
modulepackage
0.0.0-20240109095049-758c513cc4e1
Repository: https://github.com/mrzwzw/iec.git
Documentation: pkg.go.dev

# README

IEC102

iec102主站golang实现

package main

import (
	"github.com/mrzwzw/IEC"

	"github.com/sirupsen/logrus"
)


func main() {
	p := IEC.NewRTUClientProvider()

	p.Address = "/dev/ttyUSB0"
	p.BaudRate = 9600
	p.DataBits = 8
	p.Parity = "N"
	p.StopBits = 1

	var logger *logrus.Logger
	myclli := &myClient{}
	client := IEC.NewClient(myclli, logger, p)

	client.Run()
	// 发送链路复位帧
	client.Reset()

	// 发送确定帧
	client.Resetframe()

	// 发送读取指定地址范围内的遥测量
	var start byte = 0x11
	var end byte = 0x13
	client.SendYC(start, end)
}

任务接口

type myClient struct{}

// Task 数据处理任务
func (c *myClient) Datahandler(data *IEC.APDU) error {
	// TODO 自定义数据处理
	println("do task")
	return nil
}

特性

  • 连接不上3秒后重连
  • 快速编码,解码
  • interface设计,提供扩展性
  • 简单的丰富的API

实现功能:

  • 支持读取电能量

  • 支持读取需量

  • 支持读取自定义地址的遥测值

  • 支持读取脉冲表电能量

  • 支持读取智能表电能量

  • 支持读取最大需量

  • 支持读取瞬时量

  • 支持读取电压合格率

# Packages

No description provided by the author

# Functions

NewClient 初始化客户端,连接失败,每隔10秒重试.
No description provided by the author

# Constants

CCiNa1 电度总召唤.
CIcNa1 总召唤.
时钟同步.
读采集器的当前系统时间.
读指定地址范围的遥测量当前值.
读最早累计时段的积分电能量一表底值.
读制造厂和产品规范.
读带时标的单点信息的记录.
读指定地址范围和时间范围的复费率积分电能量一表底值.
读选定时间范用、选定地址范用的积分电能量一表底值.
读选定时间范围、选定地址范用的积分电能量一增量值.
读一个选定时间的带时标的单点信息的记录.
MDpNa1 不带时标的双点遥信,每个遥信占1个字节.
MEiNA1 初始化结束.
MMeNc1 带品质描述的测量值,每个遥测值占3个字节.
MMeNc1 带品质描述的浮点值,每个遥测值占5个字节.
MSpNa1 不带游标的单点遥信,3个字节的地址,1个字节的值.
MItNa1 电度总量,每个遥脉值占5个字节 MItNa1 = 15 MSpTb1 带游标的单点遥信,3个字节的地址,1个字节的值,7个字节短时标.
SerialDefaultAutoReconnect Serial Default auto reconnect count.
SerialDefaultTimeout Serial Default timeout.
时钟同步.
复费率积分电能量-表底值,4字节.
遥测量当前值.
传送某几路电表的电量实时数据。p102.
积分电能量-表底值,4字节 常用.
积分电能量-增量值,4字节.
要测量历史值.
初始化结束 常用.
采集器的制造厂和产品规范.
采集器当前系统时间.
带时标的但单点信息 常用.

# Structs

No description provided by the author
APDU 104数据包.
ASDU 应用服务数据单元.
Client 102客户端.
No description provided by the author
No description provided by the author
Signal 104信号.

# Interfaces

No description provided by the author