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
# 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字节.
要测量历史值.
初始化结束 常用.
采集器的制造厂和产品规范.
采集器当前系统时间.
带时标的但单点信息 常用.
# Interfaces
No description provided by the author