Documentation ¶
Overview ¶
Package asdu provides the OSI presentation layer.
Index ¶
- Constants
- Variables
- func BitString32(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func BitString32CP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error
- func BitString32CP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error
- func BitsString32Cmd(c Connect, typeID TypeID, coa CauseOfTransmission, commonAddr CommonAddr, ...) error
- func CP16Time2a(msec uint16) []byte
- func CP24Time2a(t time.Time, loc *time.Location) []byte
- func CP56Time2a(t time.Time, loc *time.Location) []byte
- func ClockSynchronizationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error
- func CounterInterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, qcc QualifierCountCall) error
- func DelayAcquireCommand(c Connect, coa CauseOfTransmission, ca CommonAddr, msec uint16) error
- func Double(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func DoubleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error
- func DoubleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error
- func DoubleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func EndOfInitialization(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr, ...) error
- func EventOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func EventOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func GetInfoObjSize(id TypeID) (int, error)
- func IntegratedTotals(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func IntegratedTotalsCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func IntegratedTotalsCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func InterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueFloat(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueFloatCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueFloatCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueNormal(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueNormalCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueNormalCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueNormalNoQuality(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueScaled(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueScaledCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func MeasuredValueScaledCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func PackedOutputCircuitInfoCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func PackedOutputCircuitInfoCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func PackedSinglePointWithSCD(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func PackedStartEventsOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func PackedStartEventsOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func ParameterActivation(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterActivationInfo) error
- func ParameterFloat(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterFloatInfo) error
- func ParameterNormal(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterNormalInfo) error
- func ParameterScaled(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterScaledInfo) error
- func ParseCP16Time2a(b []byte) uint16
- func ParseCP24Time2a(bytes []byte, loc *time.Location) time.Time
- func ParseCP56Time2a(bytes []byte, loc *time.Location) time.Time
- func ReadCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr) error
- func ResetProcessCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ...) error
- func SetpointCmdFloat(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func SetpointCmdNormal(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func SetpointCmdScaled(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func Single(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func SingleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error
- func SingleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error
- func SingleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func Step(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, ...) error
- func StepCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error
- func StepCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error
- func StepCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, ...) error
- func TestCommand(c Connect, coa CauseOfTransmission, ca CommonAddr) error
- func TestCommandCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error
- type ASDU
- func (sf *ASDU) AppendBinaryCounterReading(v BinaryCounterReading) *ASDU
- func (sf *ASDU) AppendBitsString32(v uint32) *ASDU
- func (sf *ASDU) AppendBytes(b ...byte) *ASDU
- func (sf *ASDU) AppendCP16Time2a(msec uint16) *ASDU
- func (sf *ASDU) AppendCP24Time2a(t time.Time, loc *time.Location) *ASDU
- func (sf *ASDU) AppendCP56Time2a(t time.Time, loc *time.Location) *ASDU
- func (sf *ASDU) AppendFloat32(f float32) *ASDU
- func (sf *ASDU) AppendInfoObjAddr(addr InfoObjAddr) error
- func (sf *ASDU) AppendNormalize(n Normalize) *ASDU
- func (sf *ASDU) AppendScaled(i int16) *ASDU
- func (sf *ASDU) AppendStatusAndStatusChangeDetection(scd StatusAndStatusChangeDetection) *ASDU
- func (sf *ASDU) AppendUint16(b uint16) *ASDU
- func (sf *ASDU) Clone() *ASDU
- func (sf *ASDU) DecodeBinaryCounterReading() BinaryCounterReading
- func (sf *ASDU) DecodeBitsString32() uint32
- func (sf *ASDU) DecodeByte() byte
- func (sf *ASDU) DecodeCP16Time2a() uint16
- func (sf *ASDU) DecodeCP24Time2a() time.Time
- func (sf *ASDU) DecodeCP56Time2a() time.Time
- func (sf *ASDU) DecodeFloat32() float32
- func (sf *ASDU) DecodeInfoObjAddr() InfoObjAddr
- func (sf *ASDU) DecodeNormalize() Normalize
- func (sf *ASDU) DecodeScaled() int16
- func (sf *ASDU) DecodeStatusAndStatusChangeDetection() StatusAndStatusChangeDetection
- func (sf *ASDU) DecodeUint16() uint16
- func (sf *ASDU) GetBitString32() []BitString32Info
- func (sf *ASDU) GetBitsString32Cmd() BitsString32CommandInfo
- func (sf *ASDU) GetClockSynchronizationCmd() (InfoObjAddr, time.Time)
- func (sf *ASDU) GetCounterInterrogationCmd() (InfoObjAddr, QualifierCountCall)
- func (sf *ASDU) GetDelayAcquireCommand() (InfoObjAddr, uint16)
- func (sf *ASDU) GetDoubleCmd() DoubleCommandInfo
- func (sf *ASDU) GetDoublePoint() []DoublePointInfo
- func (sf *ASDU) GetEndOfInitialization() (InfoObjAddr, CauseOfInitial)
- func (sf *ASDU) GetEventOfProtectionEquipment() []EventOfProtectionEquipmentInfo
- func (sf *ASDU) GetIntegratedTotals() []BinaryCounterReadingInfo
- func (sf *ASDU) GetInterrogationCmd() (InfoObjAddr, QualifierOfInterrogation)
- func (sf *ASDU) GetMeasuredValueFloat() []MeasuredValueFloatInfo
- func (sf *ASDU) GetMeasuredValueNormal() []MeasuredValueNormalInfo
- func (sf *ASDU) GetMeasuredValueScaled() []MeasuredValueScaledInfo
- func (sf *ASDU) GetPackedOutputCircuitInfo() PackedOutputCircuitInfoInfo
- func (sf *ASDU) GetPackedSinglePointWithSCD() []PackedSinglePointWithSCDInfo
- func (sf *ASDU) GetPackedStartEventsOfProtectionEquipment() PackedStartEventsOfProtectionEquipmentInfo
- func (sf *ASDU) GetParameterActivation() ParameterActivationInfo
- func (sf *ASDU) GetParameterFloat() ParameterFloatInfo
- func (sf *ASDU) GetParameterNormal() ParameterNormalInfo
- func (sf *ASDU) GetParameterScaled() ParameterScaledInfo
- func (sf *ASDU) GetReadCmd() InfoObjAddr
- func (sf *ASDU) GetResetProcessCmd() (InfoObjAddr, QualifierOfResetProcessCmd)
- func (sf *ASDU) GetSetpointCmdScaled() SetpointCommandScaledInfo
- func (sf *ASDU) GetSetpointFloatCmd() SetpointCommandFloatInfo
- func (sf *ASDU) GetSetpointNormalCmd() SetpointCommandNormalInfo
- func (sf *ASDU) GetSingleCmd() SingleCommandInfo
- func (sf *ASDU) GetSinglePoint() []SinglePointInfo
- func (sf *ASDU) GetStepCmd() StepCommandInfo
- func (sf *ASDU) GetStepPosition() []StepPositionInfo
- func (sf *ASDU) GetTestCommand() (InfoObjAddr, bool)
- func (sf *ASDU) GetTestCommandCP56Time2a() (InfoObjAddr, bool, time.Time)
- func (sf *ASDU) MarshalBinary() (data []byte, err error)
- func (sf *ASDU) Reply(c Cause, addr CommonAddr) *ASDU
- func (sf *ASDU) SendReplyMirror(c Connect, cause Cause) error
- func (sf *ASDU) SetVariableNumber(n int) error
- func (sf *ASDU) UnmarshalBinary(rawAsdu []byte) error
- type BinaryCounterReading
- type BinaryCounterReadingInfo
- type BitString32Info
- type BitsString32CommandInfo
- type COICause
- type Cause
- type CauseOfInitial
- type CauseOfTransmission
- type CommonAddr
- type Connect
- type DoubleCommand
- type DoubleCommandInfo
- type DoublePoint
- type DoublePointInfo
- type EventOfProtectionEquipmentInfo
- type Identifier
- type InfoObjAddr
- type MeasuredValueFloatInfo
- type MeasuredValueNormalInfo
- type MeasuredValueScaledInfo
- type Normalize
- type OriginAddr
- type OutputCircuitInfo
- type PackedOutputCircuitInfoInfo
- type PackedSinglePointWithSCDInfo
- type PackedStartEventsOfProtectionEquipmentInfo
- type ParameterActivationInfo
- type ParameterFloatInfo
- type ParameterNormalInfo
- type ParameterScaledInfo
- type Params
- type QCCFreeze
- type QCCRequest
- type QOCQual
- type QOSQual
- type QPMCategory
- type QualifierCountCall
- type QualifierOfCommand
- type QualifierOfInterrogation
- type QualifierOfParameterAct
- type QualifierOfParameterMV
- type QualifierOfResetProcessCmd
- type QualifierOfSetpointCmd
- type QualityDescriptor
- type QualityDescriptorProtection
- type SetpointCommandFloatInfo
- type SetpointCommandNormalInfo
- type SetpointCommandScaledInfo
- type SingleCommand
- type SingleCommandInfo
- type SingleEvent
- type SinglePoint
- type SinglePointInfo
- type StartEvent
- type StatusAndStatusChangeDetection
- type StepCommand
- type StepCommandInfo
- type StepPosition
- type StepPositionInfo
- type TypeID
- type VariableStruct
Constants ¶
const ( QCCUnused QCCRequest = iota QCCGroup1 QCCGroup2 QCCGroup3 QCCGroup4 QCCTotal // <6..31>: 为标准定义 // <32..63>: 为特定使用保留 QCCFrzRead QCCFreeze = 0x00 // 读(无冻结或复位) QCCFrzFreezeNoReset QCCFreeze = 0x40 // 计数量冻结不带复位(被冻结的值为累计量) QCCFrzFreezeReset QCCFreeze = 0x80 // 计数量冻结带复位(被冻结的值为增量信息) QCCFrzReset QCCFreeze = 0xc0 // 计数量复位 )
QCCRequest and QCCFreeze defined
const (
ASDUSizeMax = 249
)
ASDUSizeMax asdu max size
const FBPTestWord uint16 = 0x55aa
FBPTestWord test special value See companion standard 101, subclass 7.2.6.14.
Variables ¶
var ( // ParamsNarrow is the smallest configuration. ParamsNarrow = &Params{CauseSize: 1, CommonAddrSize: 1, InfoObjAddrSize: 1, InfoObjTimeZone: time.UTC} // ParamsWide is the largest configuration. ParamsWide = &Params{CauseSize: 2, CommonAddrSize: 2, InfoObjAddrSize: 3, InfoObjTimeZone: time.UTC} )
var ( ErrTypeIdentifier = errors.New("asdu: type identification unknown") ErrCauseZero = errors.New("asdu: cause of transmission 0 is not used") ErrCommonAddrZero = errors.New("asdu: common address 0 is not used") ErrParam = errors.New("asdu: system parameter out of range") ErrInvalidTimeTag = errors.New("asdu: invalid time tag") ErrOriginAddrFit = errors.New("asdu: originator address not allowed with cause size 1 system parameter") ErrCommonAddrFit = errors.New("asdu: common address exceeds size system parameter") ErrInfoObjAddrFit = errors.New("asdu: information object address exceeds size system parameter") ErrInfoObjIndexFit = errors.New("asdu: information object index not in [1, 127]") ErrInroGroupNumFit = errors.New("asdu: interrogation group number exceeds 16") ErrLengthOutOfRange = fmt.Errorf("asdu: asdu filed length large than max %d", ASDUSizeMax) ErrNotAnyObjInfo = errors.New("asdu: not any object information") ErrTypeIDNotMatch = errors.New("asdu: type identifier doesn't match call or time tag") ErrCmdCause = errors.New("asdu: cause of transmission for command not standard requirement") )
error defined
Functions ¶
func BitString32 ¶
func BitString32(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error
BitString32 sends a type identification M_BO_NA_1.比特位串 M_ST_NA_1 See companion standard 101, subclass 7.3.1.7 传送原因(coa)用于 监视方向: <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func BitString32CP24Time2a ¶
func BitString32CP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error
BitString32CP24Time2a sends a type identification M_BO_TA_1.带时标CP24Time2a比特位串,只有(SQ = 0)单个信息元素集合 M_ST_TA_1 See companion standard 101, subclass 7.3.1.8 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func BitString32CP56Time2a ¶
func BitString32CP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BitString32Info) error
BitString32CP56Time2a sends a type identification M_BO_TB_1.带时标CP56Time2a比特位串,只有(SQ = 0)单个信息元素集合 M_ST_TB_1 See companion standard 101, subclass 7.3.1.25 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func BitsString32Cmd ¶
func BitsString32Cmd(c Connect, typeID TypeID, coa CauseOfTransmission, commonAddr CommonAddr, cmd BitsString32CommandInfo) error
BitsString32Cmd sends a type C_BO_NA_1 or C_BO_TA_1. 比特串命令,只有单个信息对象(SQ = 0) C_BO_NA_1 See companion standard 101, subclass 7.3.2.7 C_BO_TA_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func CP16Time2a ¶
CP16Time2a msec to CP16Time2a 2个八位位组二进制时间 See companion standard 101, subclass 7.2.6.20.
func CP24Time2a ¶
CP24Time2a time to CP56Time2a 3个八位位组二进制时间,建议所有时标采用UTC See companion standard 101, subclass 7.2.6.19.
func CP56Time2a ¶
CP56Time2a time to CP56Time2a
func ClockSynchronizationCmd ¶
func ClockSynchronizationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error
ClockSynchronizationCmd send clock sync command C_CS_NA_1,时钟同步命令, 只有单个信息对象(SQ = 0) C_CS_NA_1 See companion standard 101, subclass 7.3.4.4 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func CounterInterrogationCmd ¶
func CounterInterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, qcc QualifierCountCall) error
CounterInterrogationCmd send Counter Interrogation command C_CI_NA_1,计数量召唤命令,只有单个信息对象(SQ = 0) C_CI_NA_1 See companion standard 101, subclass 7.3.4.2 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func DelayAcquireCommand ¶
func DelayAcquireCommand(c Connect, coa CauseOfTransmission, ca CommonAddr, msec uint16) error
DelayAcquireCommand send delay acquire command C_CD_NA_1,延时获得命令, 只有单个信息对象(SQ = 0) C_CD_NA_1 See companion standard 101, subclass 7.3.4.7 传送原因(coa)用于 控制方向: <3> := 突发 <6> := 激活 监视方向: <7> := 激活确认 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func Double ¶
func Double(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error
Double sends a type identification M_DP_NA_1.双点信息 M_DP_NA_1 See companion standard 101,subclass 7.3.1.3 传送原因(coa)用于 监视方向: <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func DoubleCP24Time2a ¶
func DoubleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error
DoubleCP24Time2a sends a type identification M_DP_TA_1 .带CP24Time2a双点信息,只有(SQ = 0)单个信息元素集合 M_DP_TA_1 See companion standard 101,subclass 7.3.1.4 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func DoubleCP56Time2a ¶
func DoubleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...DoublePointInfo) error
DoubleCP56Time2a sends a type identification M_DP_TB_1.带CP56Time2a的双点信息,只有(SQ = 0)单个信息元素集合 M_DP_TB_1 See companion standard 101,subclass 7.3.1.23 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func DoubleCmd ¶
func DoubleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd DoubleCommandInfo) error
DoubleCmd sends a type identification C_DC_NA_1 or C_DC_TA_1. 双命令, 只有单个信息对象(SQ = 0) C_DC_NA_1 See companion standard 101, subclass 7.3.2.2 C_DC_TA_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func EndOfInitialization ¶
func EndOfInitialization(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr, coi CauseOfInitial) error
EndOfInitialization send a type identification M_EI_NA_1,初始化结束,只有单个信息对象(SQ = 0) M_EI_NA_1 See companion standard 101,subclass 7.3.3.1 传送原因(coa)用于 监视方向: <4> := 被初始化
func EventOfProtectionEquipmentCP24Time2a ¶
func EventOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...EventOfProtectionEquipmentInfo) error
EventOfProtectionEquipmentCP24Time2a sends a type identification M_EP_TA_1. 带时标CP24Time2a继电器保护设备事件 M_EP_TA_1 See companion standard 101, subclass 7.3.1.17 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func EventOfProtectionEquipmentCP56Time2a ¶
func EventOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...EventOfProtectionEquipmentInfo) error
EventOfProtectionEquipmentCP56Time2a sends a type identification M_EP_TD_1. 带时标CP24Time2a继电器保护设备事件 M_EP_TD_1 See companion standard 101, subclass 7.3.1.30 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func GetInfoObjSize ¶
GetInfoObjSize get the serial octet size of the type identification (TypeID).
func IntegratedTotals ¶
func IntegratedTotals(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...BinaryCounterReadingInfo) error
IntegratedTotals sends a type identification M_IT_NA_1. 累计量 M_IT_NA_1 See companion standard 101, subclass 7.3.1.15 传送原因(coa)用于 监视方向: <3> := 突发(自发) <37> := 响应总计数量召唤 <38> := 响应第1组计数量召唤 <39> := 响应第2组计数量召唤 <40> := 响应第3组计数量召唤 <41> := 响应第4组计数量召唤
func IntegratedTotalsCP24Time2a ¶
func IntegratedTotalsCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BinaryCounterReadingInfo) error
IntegratedTotalsCP24Time2a sends a type identification M_IT_TA_1. 带时标CP24Time2a的累计量,只有(SQ = 0)单个信息元素集合 M_IT_TA_1 See companion standard 101, subclass 7.3.1.16 传送原因(coa)用于 监视方向: <3> := 突发(自发) <37> := 响应总计数量召唤 <38> := 响应第1组计数量召唤 <39> := 响应第2组计数量召唤 <40> := 响应第3组计数量召唤 <41> := 响应第4组计数量召唤
func IntegratedTotalsCP56Time2a ¶
func IntegratedTotalsCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...BinaryCounterReadingInfo) error
IntegratedTotalsCP56Time2a sends a type identification M_IT_TB_1. 带时标CP56Time2a的累计量,只有(SQ = 0)单个信息元素集合 M_IT_TB_1 See companion standard 101, subclass 7.3.1.29 传送原因(coa)用于 监视方向: <3> := 突发(自发) <37> := 响应总计数量召唤 <38> := 响应第1组计数量召唤 <39> := 响应第2组计数量召唤 <40> := 响应第3组计数量召唤 <41> := 响应第4组计数量召唤
func InterrogationCmd ¶
func InterrogationCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, qoi QualifierOfInterrogation) error
InterrogationCmd send a new interrogation command C_IC_NA_1. 总召唤命令, 只有单个信息对象(SQ = 0) C_IC_NA_1 See companion standard 101, subclass 7.3.4.1 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func MeasuredValueFloat ¶
func MeasuredValueFloat(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueFloatInfo) error
MeasuredValueFloat sends a type identification M_ME_TF_1.测量值,短浮点数 M_ME_NC_1 See companion standard 101, subclass 7.3.1.13 传送原因(coa)用于 监视方向: <1> := 周期/循环 <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func MeasuredValueFloatCP24Time2a ¶
func MeasuredValueFloatCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueFloatInfo) error
MeasuredValueFloatCP24Time2a sends a type identification M_ME_TC_1.带时标CP24Time2a的测量值,短浮点数,只有(SQ = 0)单个信息元素集合 M_ME_TC_1 See companion standard 101, subclass 7.3.1.14 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func MeasuredValueFloatCP56Time2a ¶
func MeasuredValueFloatCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueFloatInfo) error
MeasuredValueFloatCP56Time2a sends a type identification M_ME_TF_1.带时标CP56Time2a的测量值,短浮点数,只有(SQ = 0)单个信息元素集合 M_ME_TF_1 See companion standard 101, subclass 7.3.1.28 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func MeasuredValueNormal ¶
func MeasuredValueNormal(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueNormalInfo) error
MeasuredValueNormal sends a type identification M_ME_NA_1.测量值,规一化值 M_ME_NA_1 See companion standard 101, subclass 7.3.1.9 传送原因(coa)用于 监视方向: <1> := 周期/循环 <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func MeasuredValueNormalCP24Time2a ¶
func MeasuredValueNormalCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueNormalInfo) error
MeasuredValueNormalCP24Time2a sends a type identification M_ME_TA_1.带时标CP24Time2a的测量值,规一化值,只有(SQ = 0)单个信息元素集合 M_ME_TA_1 See companion standard 101, subclass 7.3.1.10 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func MeasuredValueNormalCP56Time2a ¶
func MeasuredValueNormalCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueNormalInfo) error
MeasuredValueNormalCP56Time2a sends a type identification [ M_ME_TD_1] 带时标CP57Time2a的测量值,规一化值,只有(SQ = 0)单个信息元素集合 M_ME_TD_1 See companion standard 101, subclass 7.3.1.26 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func MeasuredValueNormalNoQuality ¶
func MeasuredValueNormalNoQuality(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueNormalInfo) error
MeasuredValueNormalNoQuality sends a type identification M_ME_ND_1.不带品质的测量值,规一化值 M_ME_ND_1 See companion standard 101, subclass 7.3.1.21, The quality descriptor must default to asdu.GOOD 传送原因(coa)用于 监视方向: <1> := 周期/循环 <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func MeasuredValueScaled ¶
func MeasuredValueScaled(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueScaledInfo) error
MeasuredValueScaled sends a type identification M_ME_NB_1.测量值,标度化值 M_ME_NB_1 See companion standard 101, subclass 7.3.1.11 传送原因(coa)用于 监视方向: <1> := 周期/循环 <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func MeasuredValueScaledCP24Time2a ¶
func MeasuredValueScaledCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueScaledInfo) error
MeasuredValueScaledCP24Time2a sends a type identification M_ME_TB_1.带时标CP24Time2a的测量值,标度化值,只有(SQ = 0)单个信息元素集合 M_ME_TB_1 See companion standard 101, subclass 7.3.1.12 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func MeasuredValueScaledCP56Time2a ¶
func MeasuredValueScaledCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...MeasuredValueScaledInfo) error
MeasuredValueScaledCP56Time2a sends a type identification M_ME_TE_1.带时标CP56Time2a的测量值,标度化值,只有(SQ = 0)单个信息元素集合 M_ME_TE_1 See companion standard 101, subclass 7.3.1.27 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求
func PackedOutputCircuitInfoCP24Time2a ¶
func PackedOutputCircuitInfoCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, info PackedOutputCircuitInfoInfo) error
PackedOutputCircuitInfoCP24Time2a sends a type identification M_EP_TC_1. 带CP24Time2a继电器保护设备成组输出电路信息 M_EP_TC_1 See companion standard 101, subclass 7.3.1.19 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func PackedOutputCircuitInfoCP56Time2a ¶
func PackedOutputCircuitInfoCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, info PackedOutputCircuitInfoInfo) error
PackedOutputCircuitInfoCP56Time2a sends a type identification M_EP_TF_1. 带CP56Time2a继电器保护设备成组输出电路信息 M_EP_TF_1 See companion standard 101, subclass 7.3.1.32 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func PackedSinglePointWithSCD ¶
func PackedSinglePointWithSCD(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...PackedSinglePointWithSCDInfo) error
PackedSinglePointWithSCD sends a type identification M_PS_NA_1. 带变位检出的成组单点信息 M_PS_NA_1 See companion standard 101, subclass 7.3.1.20 传送原因(coa)用于 监视方向: <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <11> := 由远方命令会紖起的返送信息 <12> := 由当地命令会紖起的返送信息 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func PackedStartEventsOfProtectionEquipmentCP24Time2a ¶
func PackedStartEventsOfProtectionEquipmentCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, info PackedStartEventsOfProtectionEquipmentInfo) error
PackedStartEventsOfProtectionEquipmentCP24Time2a sends a type identification M_EP_TB_1. 继电器保护设备事件 M_EP_TB_1 See companion standard 101, subclass 7.3.1.18 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func PackedStartEventsOfProtectionEquipmentCP56Time2a ¶
func PackedStartEventsOfProtectionEquipmentCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, info PackedStartEventsOfProtectionEquipmentInfo) error
PackedStartEventsOfProtectionEquipmentCP56Time2a sends a type identification M_EP_TB_1. 继电器保护设备事件 M_EP_TE_1 See companion standard 101, subclass 7.3.1.31 传送原因(coa)用于 监视方向: <3> := 突发(自发)
func ParameterActivation ¶
func ParameterActivation(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterActivationInfo) error
ParameterActivation 参数激活, 只有单个信息对象(SQ = 0) P_AC_NA_1, See companion standard 101, subclass 7.3.5.4 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func ParameterFloat ¶
func ParameterFloat(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterFloatInfo) error
ParameterFloat 测量值参数,短浮点数, 只有单个信息对象(SQ = 0) P_ME_NC_1, See companion standard 101, subclass 7.3.5.3 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <20> := 响应站召唤 <21> := 响应第 1 组召唤 <22> := 响应第 2 组召唤 至 <36> := 响应第 16 组召唤 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func ParameterNormal ¶
func ParameterNormal(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterNormalInfo) error
ParameterNormal 测量值参数,规一化值, 只有单个信息对象(SQ = 0) P_ME_NA_1, See companion standard 101, subclass 7.3.5.1 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <20> := 响应站召唤 <21> := 响应第 1 组召唤 <22> := 响应第 2 组召唤 至 <36> := 响应第 16 组召唤 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func ParameterScaled ¶
func ParameterScaled(c Connect, coa CauseOfTransmission, ca CommonAddr, p ParameterScaledInfo) error
ParameterScaled 测量值参数,标度化值, 只有单个信息对象(SQ = 0) P_ME_NB_1, See companion standard 101, subclass 7.3.5.2 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <20> := 响应站召唤 <21> := 响应第 1 组召唤 <22> := 响应第 2 组召唤 至 <36> := 响应第 16 组召唤 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func ParseCP16Time2a ¶
ParseCP16Time2a 2个八位位组二进制时间,读2字节,返回一个值 See companion standard 101, subclass 7.2.6.20.
func ParseCP24Time2a ¶
ParseCP24Time2a 3个八位位组二进制时间,建议所有时标采用UTC,读3字节,返回一个时间 See companion standard 101, subclass 7.2.6.19.
func ParseCP56Time2a ¶
ParseCP56Time2a 7个八位位组二进制时间,建议所有时标采用UTC,读7个字节,返回时间 The year is assumed to be in the 20th century. See IEC 60870-5-4 § 6.8 and IEC 60870-5-101 second edition § 7.2.6.18.
func ReadCmd ¶
func ReadCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, ioa InfoObjAddr) error
ReadCmd send read command C_RD_NA_1, 读命令, 只有单个信息对象(SQ = 0) C_RD_NA_1 See companion standard 101, subclass 7.3.4.3 传送原因(coa)用于 控制方向: <5> := 请求 监视方向: <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func ResetProcessCmd ¶
func ResetProcessCmd(c Connect, coa CauseOfTransmission, ca CommonAddr, qrp QualifierOfResetProcessCmd) error
ResetProcessCmd send reset process command C_RP_NA_1,复位进程命令, 只有单个信息对象(SQ = 0) C_RP_NA_1 See companion standard 101, subclass 7.3.4.6 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func SetpointCmdFloat ¶
func SetpointCmdFloat(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd SetpointCommandFloatInfo) error
SetpointCmdFloat sends a type C_SE_NC_1 or C_SE_TC_1.设定命令,短浮点数,只有单个信息对象(SQ = 0) C_SE_NC_1 See companion standard 101, subclass 7.3.2.6 C_SE_TC_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func SetpointCmdNormal ¶
func SetpointCmdNormal(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd SetpointCommandNormalInfo) error
SetpointCmdNormal sends a type C_SE_NA_1 or C_SE_TA_1. 设定命令,规一化值, 只有单个信息对象(SQ = 0) C_SE_NA_1 See companion standard 101, subclass 7.3.2.4 C_SE_TA_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func SetpointCmdScaled ¶
func SetpointCmdScaled(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd SetpointCommandScaledInfo) error
SetpointCmdScaled sends a type C_SE_NB_1 or C_SE_TB_1. 设定命令,标度化值,只有单个信息对象(SQ = 0) C_SE_NB_1 See companion standard 101, subclass 7.3.2.5 C_SE_TB_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func Single ¶
func Single(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error
Single sends a type identification M_SP_NA_1.不带时标单点信息 M_SP_NA_1 See companion standard 101,subclass 7.3.1.1 传送原因(coa)用于 监视方向: <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func SingleCP24Time2a ¶
func SingleCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error
SingleCP24Time2a sends a type identification M_SP_TA_1,带时标CP24Time2a的单点信息,只有(SQ = 0)单个信息元素集合 M_SP_TA_1 See companion standard 101,subclass 7.3.1.2 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func SingleCP56Time2a ¶
func SingleCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...SinglePointInfo) error
SingleCP56Time2a sends a type identification M_SP_TB_1.带时标CP56Time2a的单点信息,只有(SQ = 0)单个信息元素集合 M_SP_TB_1 See companion standard 101,subclass 7.3.1.22 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func SingleCmd ¶
func SingleCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd SingleCommandInfo) error
SingleCmd sends a type identification C_SC_NA_1 or C_SC_TA_1. 单命令, 只有单个信息对象(SQ = 0) C_SC_NA_1 See companion standard 101, subclass 7.3.2.1 C_SC_TA_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func Step ¶
func Step(c Connect, isSequence bool, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error
Step sends a type identification M_ST_NA_1.步位置信息 M_ST_NA_1 See companion standard 101, subclass 7.3.1.5 传送原因(coa)用于 监视方向: <2> := 背景扫描 <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息 <20> := 响应站召唤 <21> := 响应第1组召唤 至 <36> := 响应第16组召唤
func StepCP24Time2a ¶
func StepCP24Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error
StepCP24Time2a sends a type identification M_ST_TA_1.带时标CP24Time2a的双点信息,只有(SQ = 0)单个信息元素集合 M_ST_TA_1 See companion standard 101, subclass 7.3.1.5 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func StepCP56Time2a ¶
func StepCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, infos ...StepPositionInfo) error
StepCP56Time2a sends a type identification M_ST_TB_1.带时标CP56Time2a的双点信息,只有(SQ = 0)单个信息元素集合 M_ST_TB_1 See companion standard 101, subclass 7.3.1.24 传送原因(coa)用于 监视方向: <3> := 突发(自发) <5> := 被请求 <11> := 远方命令引起的返送信息 <12> := 当地命令引起的返送信息
func StepCmd ¶
func StepCmd(c Connect, typeID TypeID, coa CauseOfTransmission, ca CommonAddr, cmd StepCommandInfo) error
StepCmd sends a type C_RC_NA_1 or C_RC_TA_1. 步调节命令, 只有单个信息对象(SQ = 0) C_RC_NA_1 See companion standard 101, subclass 7.3.2.3 C_RC_TA_1 See companion standard 101, 传送原因(coa)用于 控制方向: <6> := 激活 <8> := 停止激活 监视方向: <7> := 激活确认 <9> := 停止激活确认 <10> := 激活终止 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func TestCommand ¶
func TestCommand(c Connect, coa CauseOfTransmission, ca CommonAddr) error
TestCommand send test command C_TS_NA_1,测试命令, 只有单个信息对象(SQ = 0) C_TS_NA_1 See companion standard 101, subclass 7.3.4.5 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
func TestCommandCP56Time2a ¶
func TestCommandCP56Time2a(c Connect, coa CauseOfTransmission, ca CommonAddr, t time.Time) error
TestCommandCP56Time2a send test command C_TS_TA_1,测试命令, 只有单个信息对象(SQ = 0) 传送原因(coa)用于 控制方向: <6> := 激活 监视方向: <7> := 激活确认 <44> := 未知的类型标识 <45> := 未知的传送原因 <46> := 未知的应用服务数据单元公共地址 <47> := 未知的信息对象地址
Types ¶
type ASDU ¶
type ASDU struct { *Params Identifier // contains filtered or unexported fields }
ASDU (Application Service Data Unit) is an application message.
func NewASDU ¶
func NewASDU(p *Params, identifier Identifier) *ASDU
NewASDU new asdu with special params and identifier
func NewEmptyASDU ¶
NewEmptyASDU new empty asdu with special params
func (*ASDU) AppendBinaryCounterReading ¶
func (sf *ASDU) AppendBinaryCounterReading(v BinaryCounterReading) *ASDU
AppendBinaryCounterReading append binary couter reading value to info object See companion standard 101, subclass 7.2.6.9.
func (*ASDU) AppendBitsString32 ¶
AppendBitsString32 append a bits string value to info object See companion standard 101, subclass 7.2.6.13.
func (*ASDU) AppendBytes ¶
AppendBytes append some bytes to info object
func (*ASDU) AppendCP16Time2a ¶
AppendCP16Time2a append CP16Time2a to asdu info object
func (*ASDU) AppendCP24Time2a ¶
AppendCP24Time2a append CP24Time2a to asdu info object
func (*ASDU) AppendCP56Time2a ¶
AppendCP56Time2a append a CP56Time2a value to info object
func (*ASDU) AppendFloat32 ¶
AppendFloat32 append a float32 value to info object See companion standard 101, subclass 7.2.6.8.
func (*ASDU) AppendInfoObjAddr ¶
func (sf *ASDU) AppendInfoObjAddr(addr InfoObjAddr) error
AppendInfoObjAddr append information object address to information object
func (*ASDU) AppendNormalize ¶
AppendNormalize append a Normalize value to info object
func (*ASDU) AppendScaled ¶
AppendScaled append a Scaled value to info object See companion standard 101, subclass 7.2.6.7.
func (*ASDU) AppendStatusAndStatusChangeDetection ¶
func (sf *ASDU) AppendStatusAndStatusChangeDetection(scd StatusAndStatusChangeDetection) *ASDU
AppendStatusAndStatusChangeDetection append StatusAndStatusChangeDetection value to asdu info object
func (*ASDU) AppendUint16 ¶
AppendUint16 append some uint16 to info object
func (*ASDU) DecodeBinaryCounterReading ¶
func (sf *ASDU) DecodeBinaryCounterReading() BinaryCounterReading
DecodeBinaryCounterReading decode info object byte to binary couter reading value
func (*ASDU) DecodeBitsString32 ¶
DecodeBitsString32 decode info object byte to a bits string value
func (*ASDU) DecodeByte ¶
DecodeByte decode a byte then the pass it
func (*ASDU) DecodeCP16Time2a ¶
DecodeCP16Time2a decode info object byte to CP16Time2a
func (*ASDU) DecodeCP24Time2a ¶
DecodeCP24Time2a decode info object byte to CP24Time2a
func (*ASDU) DecodeCP56Time2a ¶
DecodeCP56Time2a decode info object byte to CP56Time2a
func (*ASDU) DecodeFloat32 ¶
DecodeFloat32 decode info object byte to a float32 value
func (*ASDU) DecodeInfoObjAddr ¶
func (sf *ASDU) DecodeInfoObjAddr() InfoObjAddr
DecodeInfoObjAddr decode info object address then the pass it
func (*ASDU) DecodeNormalize ¶
DecodeNormalize decode info object byte to a Normalize value
func (*ASDU) DecodeScaled ¶
DecodeScaled decode info object byte to a Scaled value
func (*ASDU) DecodeStatusAndStatusChangeDetection ¶
func (sf *ASDU) DecodeStatusAndStatusChangeDetection() StatusAndStatusChangeDetection
DecodeStatusAndStatusChangeDetection decode info object byte to StatusAndStatusChangeDetection
func (*ASDU) DecodeUint16 ¶
DecodeUint16 decode a uint16 then the pass it
func (*ASDU) GetBitString32 ¶
func (sf *ASDU) GetBitString32() []BitString32Info
GetBitString32 M_BO_NA_1, M_BO_TA_1 or M_BO_TB_1 获得比特位串信息体集合
func (*ASDU) GetBitsString32Cmd ¶
func (sf *ASDU) GetBitsString32Cmd() BitsString32CommandInfo
func (*ASDU) GetClockSynchronizationCmd ¶
func (sf *ASDU) GetClockSynchronizationCmd() (InfoObjAddr, time.Time)
GetClockSynchronizationCmd C_CS_NA_1 获得时钟同步命令信息体(信息对象地址,时间)
func (*ASDU) GetCounterInterrogationCmd ¶
func (sf *ASDU) GetCounterInterrogationCmd() (InfoObjAddr, QualifierCountCall)
GetCounterInterrogationCmd C_CI_NA_1 获得计量召唤信息体(信息对象地址,计量召唤限定词)
func (*ASDU) GetDelayAcquireCommand ¶
func (sf *ASDU) GetDelayAcquireCommand() (InfoObjAddr, uint16)
GetDelayAcquireCommand C_CD_NA_1 获取延时获取命令信息体(信息对象地址,延时毫秒数)
func (*ASDU) GetDoubleCmd ¶
func (sf *ASDU) GetDoubleCmd() DoubleCommandInfo
func (*ASDU) GetDoublePoint ¶
func (sf *ASDU) GetDoublePoint() []DoublePointInfo
func (*ASDU) GetEndOfInitialization ¶
func (sf *ASDU) GetEndOfInitialization() (InfoObjAddr, CauseOfInitial)
GetEndOfInitialization get GetEndOfInitialization for asdu when the identification M_EI_NA_1
func (*ASDU) GetEventOfProtectionEquipment ¶
func (sf *ASDU) GetEventOfProtectionEquipment() []EventOfProtectionEquipmentInfo
GetEventOfProtectionEquipment M_EP_TA_1 M_EP_TD_1 获取继电器保护设备事件信息体
func (*ASDU) GetIntegratedTotals ¶
func (sf *ASDU) GetIntegratedTotals() []BinaryCounterReadingInfo
GetIntegratedTotals M_IT_NA_1, M_IT_TA_1 or M_IT_TB_1. 获得累计量信息体集合
func (*ASDU) GetInterrogationCmd ¶
func (sf *ASDU) GetInterrogationCmd() (InfoObjAddr, QualifierOfInterrogation)
GetInterrogationCmd C_IC_NA_1 获取总召唤信息体(信息对象地址,召唤限定词)
func (*ASDU) GetMeasuredValueFloat ¶
func (sf *ASDU) GetMeasuredValueFloat() []MeasuredValueFloatInfo
GetMeasuredValueFloat M_ME_NC_1, M_ME_TC_1 or M_ME_TF_1.获得测量值,短浮点数信息体集合
func (*ASDU) GetMeasuredValueNormal ¶
func (sf *ASDU) GetMeasuredValueNormal() []MeasuredValueNormalInfo
GetMeasuredValueNormal M_ME_NA_1, M_ME_TA_1,[ M_ME_TD_1] or M_ME_ND_1 获得测量值,规一化值信息体集合
func (*ASDU) GetMeasuredValueScaled ¶
func (sf *ASDU) GetMeasuredValueScaled() []MeasuredValueScaledInfo
GetMeasuredValueScaled M_ME_NB_1, M_ME_TB_1 or M_ME_TE_1 获得测量值,标度化值信息体集合
func (*ASDU) GetPackedOutputCircuitInfo ¶
func (sf *ASDU) GetPackedOutputCircuitInfo() PackedOutputCircuitInfoInfo
GetPackedOutputCircuitInfo M_EP_TC_1 M_EP_TF_1 获取继电器保护设备成组输出电路信息信息体
func (*ASDU) GetPackedSinglePointWithSCD ¶
func (sf *ASDU) GetPackedSinglePointWithSCD() []PackedSinglePointWithSCDInfo
GetPackedSinglePointWithSCD M_PS_NA_1. 获得带变位检出的成组单点信息
func (*ASDU) GetPackedStartEventsOfProtectionEquipment ¶
func (sf *ASDU) GetPackedStartEventsOfProtectionEquipment() PackedStartEventsOfProtectionEquipmentInfo
GetPackedStartEventsOfProtectionEquipment M_EP_TB_1 M_EP_TE_1 获取继电器保护设备事件信息体
func (*ASDU) GetParameterActivation ¶
func (sf *ASDU) GetParameterActivation() ParameterActivationInfo
GetParameterActivation P_AC_NA_1,获取 参数激活 信息体
func (*ASDU) GetParameterFloat ¶
func (sf *ASDU) GetParameterFloat() ParameterFloatInfo
GetParameterFloat P_ME_NC_1,获取 测量值参数,短浮点数 信息体
func (*ASDU) GetParameterNormal ¶
func (sf *ASDU) GetParameterNormal() ParameterNormalInfo
GetParameterNormal P_ME_NA_1,获取 测量值参数,标度化值 信息体
func (*ASDU) GetParameterScaled ¶
func (sf *ASDU) GetParameterScaled() ParameterScaledInfo
GetParameterScaled P_ME_NB_1,获取 测量值参数,归一化值 信息体
func (*ASDU) GetResetProcessCmd ¶
func (sf *ASDU) GetResetProcessCmd() (InfoObjAddr, QualifierOfResetProcessCmd)
GetResetProcessCmd C_RP_NA_1 获得复位进程命令信息体(信息对象地址,复位进程命令限定词)
func (*ASDU) GetSetpointCmdScaled ¶
func (sf *ASDU) GetSetpointCmdScaled() SetpointCommandScaledInfo
func (*ASDU) GetSetpointFloatCmd ¶
func (sf *ASDU) GetSetpointFloatCmd() SetpointCommandFloatInfo
func (*ASDU) GetSetpointNormalCmd ¶
func (sf *ASDU) GetSetpointNormalCmd() SetpointCommandNormalInfo
func (*ASDU) GetSingleCmd ¶
func (sf *ASDU) GetSingleCmd() SingleCommandInfo
func (*ASDU) GetSinglePoint ¶
func (sf *ASDU) GetSinglePoint() []SinglePointInfo
GetSinglePoint M_SP_NA_1, M_SP_TA_1 or M_SP_TB_1 获取单点信息信息体集合
func (*ASDU) GetStepCmd ¶
func (sf *ASDU) GetStepCmd() StepCommandInfo
func (*ASDU) GetStepPosition ¶
func (sf *ASDU) GetStepPosition() []StepPositionInfo
GetStepPosition M_ST_NA_1, M_ST_TA_1 or M_ST_TB_1 获得步位置信息体集合
func (*ASDU) GetTestCommand ¶
func (sf *ASDU) GetTestCommand() (InfoObjAddr, bool)
GetTestCommand C_TS_NA_1,获得测试命令信息体(信息对象地址,是否是测试字)
func (*ASDU) GetTestCommandCP56Time2a ¶
func (sf *ASDU) GetTestCommandCP56Time2a() (InfoObjAddr, bool, time.Time)
GetTestCommandCP56Time2a C_TS_TA_1,获得测试命令信息体(信息对象地址,是否是测试字)
func (*ASDU) MarshalBinary ¶
MarshalBinary honors the encoding.BinaryMarshaler interface.
func (*ASDU) Reply ¶
func (sf *ASDU) Reply(c Cause, addr CommonAddr) *ASDU
Reply returns a new "responding" ASDU which addresses "initiating" addr with a copy of Info.
func (*ASDU) SendReplyMirror ¶
SendReplyMirror send a reply of the mirror request but cause different
func (*ASDU) SetVariableNumber ¶
SetVariableNumber See companion standard 101, subclass 7.2.2.
func (*ASDU) UnmarshalBinary ¶
UnmarshalBinary honors the encoding.BinaryUnmarshaler interface. ASDUParams must be set in advance. All other fields are initialized.
type BinaryCounterReading ¶
type BinaryCounterReading struct { CounterReading int32 SeqNumber byte HasCarry bool IsAdjusted bool IsInvalid bool }
BinaryCounterReading is binary counter reading See companion standard 101, subclass 7.2.6.9. CounterReading: 计数器读数 [bit0...bit31] SeqNumber: 顺序记法 [bit32...bit40] SQ: 顺序号 [bit32...bit36] CY: 进位 [bit37] CA: 计数量被调整 IV: 无效
type BinaryCounterReadingInfo ¶
type BinaryCounterReadingInfo struct { Ioa InfoObjAddr Value BinaryCounterReading // the type does not include timing will ignore Time time.Time }
BinaryCounterReadingInfo the counter reading attributes. 二进制计数量读数
type BitString32Info ¶
type BitString32Info struct { Ioa InfoObjAddr Value uint32 // Quality descriptor asdu.GOOD means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
BitString32Info the measured value attributes.
type BitsString32CommandInfo ¶
type BitsString32CommandInfo struct { Ioa InfoObjAddr Value uint32 Time time.Time }
BitsString32CommandInfo 比特串命令 信息体
type COICause ¶
type COICause byte
COICause Initialization reason See companion standard 101, subclass 7.2.6.21.
type Cause ¶
type Cause byte
Cause is the cause of transmission. bit5-bit0
const ( Unused Cause = iota // unused Periodic // periodic, cyclic Background // background scan Spontaneous // spontaneous 突发 Initialized // initialized Request // request or requested Activation // activation 激活 ActivationCon // activation confirmation 激活确认 Deactivation // deactivation 停止激活 DeactivationCon // deactivation confirmation 停止激活确认 ActivationTerm // activation termination 激活停止 ReturnInfoRemote // return information caused by a remote command ReturnInfoLocal // return information caused by a local command FileTransfer // file transfer Authentication // authentication SessionKey // maintenance of authentication session key UserRoleAndUpdateKey // maintenance of user role and update key InterrogatedByStation // interrogated by station interrogation InterrogatedByGroup1 // interrogated by group 1 interrogation InterrogatedByGroup2 // interrogated by group 2 interrogation InterrogatedByGroup3 // interrogated by group 3 interrogation InterrogatedByGroup4 // interrogated by group 4 interrogation InterrogatedByGroup5 // interrogated by group 5 interrogation InterrogatedByGroup6 // interrogated by group 6 interrogation InterrogatedByGroup7 // interrogated by group 7 interrogation InterrogatedByGroup8 // interrogated by group 8 interrogation InterrogatedByGroup9 // interrogated by group 9 interrogation InterrogatedByGroup10 // interrogated by group 10 interrogation InterrogatedByGroup11 // interrogated by group 11 interrogation InterrogatedByGroup12 // interrogated by group 12 interrogation InterrogatedByGroup13 // interrogated by group 13 interrogation InterrogatedByGroup14 // interrogated by group 14 interrogation InterrogatedByGroup15 // interrogated by group 15 interrogation InterrogatedByGroup16 // interrogated by group 16 interrogation RequestByGeneralCounter // requested by general counter request RequestByGroup1Counter // requested by group 1 counter request RequestByGroup2Counter // requested by group 2 counter request RequestByGroup3Counter // requested by group 3 counter request RequestByGroup4Counter // requested by group 4 counter request UnknownTypeID // unknown type identification UnknownCOT // unknown cause of transmission UnknownCA // unknown common address of ASDU UnknownIOA // unknown information object address )
Cause of transmission bit5-bit0 <0> 未定义 <1..63> 传输原因序号 <1..47> 标准定义 <48..63> 专用范围 NOTE: 信息对象带或不带时标由标识符类型的不同序列来区别
type CauseOfInitial ¶
CauseOfInitial cause of initial Cause: see COICause IsLocalChange: false - 未改变当地参数的初始化
true - 改变当地参数后的初始化
func ParseCauseOfInitial ¶
func ParseCauseOfInitial(b byte) CauseOfInitial
ParseCauseOfInitial parse byte to cause of initial
type CauseOfTransmission ¶
CauseOfTransmission is the cause of transmission. See companion standard 101, subclass 7.2.3. | T | P/N | 5..0 cause | T = test, the cause of transmission for testing ,0: 未试验, 1:试验 P/N indicates the negative (or positive) confirmation. Cause is the cause of transmission. bit5 - bit0 对由启动应用功能所请求的激活以肯定或者否定的确认 0: 肯定确认, 1: 否定确认
func ParseCauseOfTransmission ¶
func ParseCauseOfTransmission(b byte) CauseOfTransmission
ParseCauseOfTransmission parse byte to cause of transmission
func (CauseOfTransmission) String ¶
func (sf CauseOfTransmission) String() string
String 返回Cause的字符串,包含相应应用的",neg" and ",test"
func (CauseOfTransmission) Value ¶
func (sf CauseOfTransmission) Value() byte
Value encode cause of transmission to byte
type CommonAddr ¶
type CommonAddr uint16
CommonAddr is a station address. The width is controlled by Params.CommonAddrSize. width 1:
<0>: 未用 <1..254>: 站地址 <255>: 全局地址
width 2:
<0>: 未用 <1..65534>: 站地址 <65535>: 全局地址
const ( // InvalidCommonAddr is the invalid common address. InvalidCommonAddr CommonAddr = 0 // GlobalCommonAddr is the broadcast address. Use is restricted // to C_IC_NA_1, C_CI_NA_1, C_CS_NA_1 and C_RP_NA_1. // When in 8-bit mode 255 is mapped to this value on the fly. GlobalCommonAddr CommonAddr = 65535 )
special commonAddr
type DoubleCommand ¶
type DoubleCommand byte
DoubleCommand double command See companion standard 101, subclass 7.2.6.16.
const ( DCONotAllow0 DoubleCommand = iota DCOOn DCOOff DCONotAllow3 )
DoubleCommand defined
type DoubleCommandInfo ¶
type DoubleCommandInfo struct { Ioa InfoObjAddr Value DoubleCommand Qoc QualifierOfCommand Time time.Time }
DoubleCommandInfo 单命令 信息体
type DoublePoint ¶
type DoublePoint byte
DoublePoint is a measured value of a determination aware switch. See companion standard 101, subclass 7.2.6.2.
const ( DPIIndeterminateOrIntermediate DoublePoint = iota // 不确定或中间状态 DPIDeterminedOff // 确定状态开 DPIDeterminedOn // 确定状态关 DPIIndeterminate // 不确定或中间状态 )
DoublePoint defined
type DoublePointInfo ¶
type DoublePointInfo struct { Ioa InfoObjAddr Value DoublePoint // Quality descriptor asdu.QDSGood means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
DoublePointInfo the measured value attributes.
type EventOfProtectionEquipmentInfo ¶
type EventOfProtectionEquipmentInfo struct { Ioa InfoObjAddr Event SingleEvent Qdp QualityDescriptorProtection Msec uint16 // the type does not include timing will ignore Time time.Time }
EventOfProtectionEquipmentInfo the counter reading attributes. 二进制计数量读数
type Identifier ¶
type Identifier struct { // type identification, information content Type TypeID // Variable is variable structure qualifier Variable VariableStruct // cause of transmission submission category Coa CauseOfTransmission // Originator Address [1, 255] or 0 for the default. // The applicability is controlled by Params.CauseSize. OrigAddr OriginAddr // CommonAddr is a station address. Zero is not used. // The width is controlled by Params.CommonAddrSize. // See companion standard 101, subclass 7.2.4. CommonAddr CommonAddr // station address 公共地址是站地址 }
Identifier the application service data unit identifies.
func (Identifier) String ¶
func (id Identifier) String() string
String 返回数据单元标识符的信息,例: "TypeID Cause OrigAddr@CommonAddr"
type InfoObjAddr ¶
type InfoObjAddr uint
InfoObjAddr is the information object address. See companion standard 101, subclass 7.2.5. The width is controlled by Params.InfoObjAddrSize. <0>: 无关的信息对象地址 - width 1: <1..255> - width 2: <1..65535> - width 3: <1..16777215>
const InfoObjAddrIrrelevant InfoObjAddr = 0
InfoObjAddrIrrelevant Zero means that the information object address is irrelevant.
type MeasuredValueFloatInfo ¶
type MeasuredValueFloatInfo struct { Ioa InfoObjAddr Value float32 // Quality descriptor asdu.GOOD means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
MeasuredValueFloatInfo the measured value attributes.
type MeasuredValueNormalInfo ¶
type MeasuredValueNormalInfo struct { Ioa InfoObjAddr Value Normalize // Quality descriptor asdu.GOOD means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
MeasuredValueNormalInfo the measured value attributes.
type MeasuredValueScaledInfo ¶
type MeasuredValueScaledInfo struct { Ioa InfoObjAddr Value int16 // Quality descriptor asdu.GOOD means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
MeasuredValueScaledInfo the measured value attributes.
type Normalize ¶
type Normalize int16
Normalize is a 16-bit normalized value in[-1, 1 − 2⁻¹⁵].. 规一化值 f归一= 32768 * f真实 / 满码值 See companion standard 101, subclass 7.2.6.6.
type OriginAddr ¶
type OriginAddr byte
OriginAddr is originator address, See companion standard 101, subclass 7.2.3. The width is controlled by Params.CauseSize. width 2 includes/activates the originator address. <0>: 未用 <1..255>: 源发地址
type OutputCircuitInfo ¶
type OutputCircuitInfo byte
OutputCircuitInfo output command information See companion standard 101, subclass 7.2.6.12.
const ( OCIGeneralCommand OutputCircuitInfo = 1 << iota // 总命令输出至输出电路 OCICommandL1 // A 相保护命令输出至输出电路 OCICommandL2 // B 相保护命令输出至输出电路 OCICommandL3 // C 相保护命令输出至输出电路 )
OutputCircuitInfo defined
type PackedOutputCircuitInfoInfo ¶
type PackedOutputCircuitInfoInfo struct { Ioa InfoObjAddr Oci OutputCircuitInfo Qdp QualityDescriptorProtection Msec uint16 // the type does not include timing will ignore Time time.Time }
PackedOutputCircuitInfoInfo 继电器保护设备成组输出电路信息
type PackedSinglePointWithSCDInfo ¶
type PackedSinglePointWithSCDInfo struct { Ioa InfoObjAddr Scd StatusAndStatusChangeDetection Qds QualityDescriptor }
PackedSinglePointWithSCDInfo 带变位检出的成组单点信息
type PackedStartEventsOfProtectionEquipmentInfo ¶
type PackedStartEventsOfProtectionEquipmentInfo struct { Ioa InfoObjAddr Event StartEvent Qdp QualityDescriptorProtection Msec uint16 // the type does not include timing will ignore Time time.Time }
PackedStartEventsOfProtectionEquipmentInfo 继电器保护设备成组启动事件
type ParameterActivationInfo ¶
type ParameterActivationInfo struct { Ioa InfoObjAddr Qpa QualifierOfParameterAct }
ParameterActivationInfo 参数激活 信息体
type ParameterFloatInfo ¶
type ParameterFloatInfo struct { Ioa InfoObjAddr Value float32 Qpm QualifierOfParameterMV }
ParameterFloatInfo 测量参数,短浮点数 信息体
type ParameterNormalInfo ¶
type ParameterNormalInfo struct { Ioa InfoObjAddr Value Normalize Qpm QualifierOfParameterMV }
ParameterNormalInfo 测量值参数,归一化值 信息体
type ParameterScaledInfo ¶
type ParameterScaledInfo struct { Ioa InfoObjAddr Value int16 Qpm QualifierOfParameterMV }
ParameterScaledInfo 测量值参数,标度化值 信息体
type Params ¶
type Params struct { // cause of transmission, 传输原因字节数 // The standard requires "b" in [1, 2]. // Value 2 includes/activates the originator address. CauseSize int // Originator Address [1, 255] or 0 for the default. // The applicability is controlled by Params.CauseSize. OrigAddress OriginAddr // size of ASDU common address, ASDU 公共地址字节数 // 应用服务数据单元公共地址的八位位组数目,公共地址是站地址 // The standard requires "a" in [1, 2]. CommonAddrSize int // size of ASDU information object address. 信息对象地址字节数 // The standard requires "c" in [1, 3]. InfoObjAddrSize int // InfoObjTimeZone controls the time tag interpretation. // The standard fails to mention this one. InfoObjTimeZone *time.Location }
Params 定义了ASDU相关特定参数 See companion standard 101, subclass 7.1.
func (Params) IdentifierSize ¶
IdentifierSize return the application service data unit identifies size
func (Params) ValidCommonAddr ¶
func (sf Params) ValidCommonAddr(addr CommonAddr) error
ValidCommonAddr returns the validation result of a station common address.
type QCCFreeze ¶
type QCCFreeze byte
QCCFreeze 冻结 [bit6,bit7] See companion standard 101, subclass 7.2.6.23.
type QCCRequest ¶
type QCCRequest byte
QCCRequest 请求 [bit0...bit5] See companion standard 101, subclass 7.2.6.23.
type QOCQual ¶
type QOCQual byte
QOCQual the qualifier of qual. See companion standard 101, subclass 7.2.6.26.
const ( // 0: no additional definition // 无另外的定义 QOCNoAdditionalDefinition QOCQual = iota // 1: short pulse duration (circuit-breaker), duration determined by a system parameter in the outstation // 短脉冲持续时间(断路器),持续时间由被控站内的系统参数所确定 QOCShortPulseDuration // 2: long pulse duration, duration determined by a system parameter in the outstation // 长脉冲持续时间,持续时间由被控站内的系统参数所确定 QOCLongPulseDuration // 3: persistent output // 持续输出 QOCPersistentOutput )
QOCQual defined
type QOSQual ¶
type QOSQual uint
QOSQual is the qualifier of a set-point command qual. See companion standard 101, subclass 7.2.6.39.
0: default 0‥63: reserved for standard definitions of sf companion standard (compatible range) 64‥127: reserved for special use (private range)
type QPMCategory ¶
type QPMCategory byte
QPMCategory 测量参数类别
const ( QPMUnused QPMCategory = iota // 0: not used QPMThreshold // 1: threshold value QPMSmoothing // 2: smoothing factor (filter time constant) QPMLowLimit // 3: low limit for transmission of measured values QPMHighLimit // 4: high limit for transmission of measured values QPMChangeFlag QPMCategory = 0x40 // bit6 marks local parameter change 当地参数改变 QPMInOperationFlag QPMCategory = 0x80 // bit7 marks parameter operation 参数在运行 )
QPMCategory defined
type QualifierCountCall ¶
type QualifierCountCall struct { Request QCCRequest Freeze QCCFreeze }
QualifierCountCall 计数量召唤命令限定词 See companion standard 101, subclass 7.2.6.23.
func ParseQualifierCountCall ¶
func ParseQualifierCountCall(b byte) QualifierCountCall
ParseQualifierCountCall parse byte to QualifierCountCall
func (QualifierCountCall) Value ¶
func (sf QualifierCountCall) Value() byte
Value QualifierCountCall to byte
type QualifierOfCommand ¶
QualifierOfCommand is a qualifier of command. 命令限定词 See companion standard 101, subclass 7.2.6.26. See section 5, subclass 6.8. InSelect: true - selects, false - executes.
func ParseQualifierOfCommand ¶
func ParseQualifierOfCommand(b byte) QualifierOfCommand
ParseQualifierOfCommand parse byte to QualifierOfCommand
func (QualifierOfCommand) Value ¶
func (sf QualifierOfCommand) Value() byte
Value QualifierOfCommand to byte
type QualifierOfInterrogation ¶
type QualifierOfInterrogation byte
QualifierOfInterrogation Qualifier Of Interrogation See companion standard 101, subclass 7.2.6.22.
const ( // <1..19>: 为标准定义保留 QOIStation QualifierOfInterrogation = 20 + iota // interrogated by station interrogation QOIGroup1 // interrogated by group 1 interrogation QOIGroup2 // interrogated by group 2 interrogation QOIGroup3 // interrogated by group 3 interrogation QOIGroup4 // interrogated by group 4 interrogation QOIGroup5 // interrogated by group 5 interrogation QOIGroup6 // interrogated by group 6 interrogation QOIGroup7 // interrogated by group 7 interrogation QOIGroup8 // interrogated by group 8 interrogation QOIGroup9 // interrogated by group 9 interrogation QOIGroup10 // interrogated by group 10 interrogation QOIGroup11 // interrogated by group 11 interrogation QOIGroup12 // interrogated by group 12 interrogation QOIGroup13 // interrogated by group 13 interrogation QOIGroup14 // interrogated by group 14 interrogation QOIGroup15 // interrogated by group 15 interrogation QOIGroup16 // interrogated by group 16 interrogation // 0:未使用 QOIUnused QualifierOfInterrogation = 0 )
QualifierOfInterrogation defined
type QualifierOfParameterAct ¶
type QualifierOfParameterAct byte
QualifierOfParameterAct Qualifier Of Parameter Activation 参数激活限定词 See companion standard 101, subclass 7.2.6.25.
const ( QPAUnused QualifierOfParameterAct = iota // 激活/停止激活这之前装载的参数(信息对象地址=0) QPADeActPrevLoadedParameter // 激活/停止激活所寻址信息对象的参数 QPADeActObjectParameter // 激活/停止激活所寻址的持续循环或周期传输的信息对象 QPADeActObjectTransmission )
QualifierOfParameterAct defined
type QualifierOfParameterMV ¶
type QualifierOfParameterMV struct { Category QPMCategory IsChange bool IsInOperation bool }
QualifierOfParameterMV Qualifier Of Parameter Of Measured Values 测量值参数限定词 See companion standard 101, subclass 7.2.6.24. QPMCategory : [bit0...bit5] 参数类型 IsChange : [bit6]当地参数改变,false - 未改变,true - 改变 IsInOperation : [bit7] 参数在运行,false - 运行, true - 不在运行
func ParseQualifierOfParamMV ¶
func ParseQualifierOfParamMV(b byte) QualifierOfParameterMV
ParseQualifierOfParamMV parse byte to QualifierOfParameterMV
func (QualifierOfParameterMV) Value ¶
func (sf QualifierOfParameterMV) Value() byte
Value QualifierOfParameterMV to byte
type QualifierOfResetProcessCmd ¶
type QualifierOfResetProcessCmd byte
QualifierOfResetProcessCmd 复位进程命令限定词 See companion standard 101, subclass 7.2.6.27.
const ( // 未采用 QRPUnused QualifierOfResetProcessCmd = iota // 进程的总复位 QPRGeneralRest // 复位事件缓冲区等待处理的带时标的信息 QPRResetPendingInfoWithTimeTag )
QualifierOfResetProcessCmd defined
type QualifierOfSetpointCmd ¶
QualifierOfSetpointCmd is a qualifier of command. 设定命令限定词 See section 5, subclass 6.8. InSelect: true - selects, false - executes.
func ParseQualifierOfSetpointCmd ¶
func ParseQualifierOfSetpointCmd(b byte) QualifierOfSetpointCmd
ParseQualifierOfSetpointCmd parse byte to QualifierOfSetpointCmd
func (QualifierOfSetpointCmd) Value ¶
func (sf QualifierOfSetpointCmd) Value() byte
Value QualifierOfSetpointCmd to byte
type QualityDescriptor ¶
type QualityDescriptor byte
QualityDescriptor Quality descriptor flags attribute measured values. See companion standard 101, subclass 7.2.6.3.
const ( // QDSOverflow marks whether the value is beyond a predefined range. QDSOverflow QualityDescriptor = 1 << iota // QDSBlocked flags that the value is blocked for transmission; the // value remains in the state that was acquired before it was blocked. QDSBlocked // QDSSubstituted flags that the value was provided by the input of // an operator (dispatcher) instead of an automatic source. QDSSubstituted // QDSNotTopical flags that the most recent update was unsuccessful. QDSNotTopical // QDSInvalid flags that the value was incorrectly acquired. QDSInvalid // QDSGood means no flags, no problems. QDSGood QualityDescriptor = 0 )
QualityDescriptor defined.
type QualityDescriptorProtection ¶
type QualityDescriptorProtection byte
QualityDescriptorProtection Quality descriptor Protection Equipment flags attribute. See companion standard 101, subclass 7.2.6.4.
const ( // QDPElapsedTimeInvalid flags that the elapsed time was incorrectly acquired. QDPElapsedTimeInvalid QualityDescriptorProtection // QDPBlocked flags that the value is blocked for transmission; the // value remains in the state that was acquired before it was blocked. QDPBlocked // QDPSubstituted flags that the value was provided by the input of // an operator (dispatcher) instead of an automatic source. QDPSubstituted // QDPNotTopical flags that the most recent update was unsuccessful. QDPNotTopical // QDPInvalid flags that the value was incorrectly acquired. QDPInvalid // QDPGood means no flags, no problems. QDPGood QualityDescriptorProtection = 0 )
QualityDescriptorProtection defined.
type SetpointCommandFloatInfo ¶
type SetpointCommandFloatInfo struct { Ioa InfoObjAddr Value float32 Qos QualifierOfSetpointCmd Time time.Time }
SetpointCommandFloatInfo 设定命令, 短浮点数 信息体
type SetpointCommandNormalInfo ¶
type SetpointCommandNormalInfo struct { Ioa InfoObjAddr Value Normalize Qos QualifierOfSetpointCmd Time time.Time }
SetpointCommandNormalInfo 设置命令,规一化值 信息体
type SetpointCommandScaledInfo ¶
type SetpointCommandScaledInfo struct { Ioa InfoObjAddr Value int16 Qos QualifierOfSetpointCmd Time time.Time }
SetpointCommandScaledInfo 设定命令,标度化值 信息体
type SingleCommand ¶
type SingleCommand byte
SingleCommand Single command See companion standard 101, subclass 7.2.6.15.
const ( SCOOn SingleCommand = iota SCOOff )
SingleCommand defined
type SingleCommandInfo ¶
type SingleCommandInfo struct { Ioa InfoObjAddr Value bool Qoc QualifierOfCommand Time time.Time }
SingleCommandInfo 单命令 信息体
type SingleEvent ¶
type SingleEvent byte
SingleEvent is single event See companion standard 101, subclass 7.2.6.10.
const ( SEIndeterminateOrIntermediate SingleEvent = iota // 不确定或中间状态 SEDeterminedOff // 确定状态开 SEDeterminedOn // 确定状态关 SEIndeterminate // 不确定或中间状态 )
SingleEvent dSequenceNotationefined
type SinglePoint ¶
type SinglePoint byte
SinglePoint is a measured value of a switch. See companion standard 101, subclass 7.2.6.1.
const ( SPIOff SinglePoint = iota // 关 SPIOn // 开 )
SinglePoint defined
type SinglePointInfo ¶
type SinglePointInfo struct { Ioa InfoObjAddr // value of single point Value bool // Quality descriptor asdu.OK means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
SinglePointInfo the measured value attributes.
type StartEvent ¶
type StartEvent byte
StartEvent Start event protection
const ( SEPGeneralStart StartEvent = 1 << iota // 总启动 SEPStartL1 // A相保护启动 SEPStartL2 // B相保护启动 SEPStartL3 // C相保护启动 SEPStartEarthCurrent // 接地电流保护启动 SEPStartReverseDirection // 反向保护启动 )
StartEvent defined See companion standard 101, subclass 7.2.6.11.
type StatusAndStatusChangeDetection ¶
type StatusAndStatusChangeDetection uint32
StatusAndStatusChangeDetection 状态和状态变位检出 See companion standard 101, subclass 7.2.6.40.
type StepCommand ¶
type StepCommand byte
StepCommand step command See companion standard 101, subclass 7.2.6.17.
const ( SCONotAllow0 StepCommand = iota SCOStepDown SCOStepUP SCONotAllow3 )
StepCommand defined
type StepCommandInfo ¶
type StepCommandInfo struct { Ioa InfoObjAddr Value StepCommand Qoc QualifierOfCommand Time time.Time }
StepCommandInfo 步调节 信息体
type StepPosition ¶
StepPosition is a measured value with transient state indication. 带瞬变状态指示的测量值,用于变压器步位置或其它步位置的值 See companion standard 101, subclass 7.2.6.5. Val range <-64..63> bit[0-5]: <-64..63> NOTE: bit6 为符号位 bit7: 0: 设备未在瞬变状态 1: 设备处于瞬变状态
func ParseStepPosition ¶
func ParseStepPosition(b byte) StepPosition
ParseStepPosition parse byte to StepPosition.
type StepPositionInfo ¶
type StepPositionInfo struct { Ioa InfoObjAddr Value StepPosition // Quality descriptor asdu.GOOD means no remarks. Qds QualityDescriptor // the type does not include timing will ignore Time time.Time }
StepPositionInfo the measured value attributes.
type TypeID ¶
type TypeID uint8
TypeID is the ASDU type identification. See companion standard 101, subclass 7.2.1.
const ( // 在监视方向上的过程信息 <0..44> M_SP_NA_1 TypeID // 1: single-point information, 单点信息 M_SP_TA_1 // 2: single-point information with time tag, 单点信息-带时标 M_DP_NA_1 // 3: double-point information, 双点信息 M_DP_TA_1 // 4: double-point information with time tag, 双点信息-带时标 M_ST_NA_1 // 5: step position information, 步位置信息 M_ST_TA_1 // 6: step position information with time tag, 步位置信息-带时标 M_BO_NA_1 // 7: bitstring of 32 bit, 32位比特串 M_BO_TA_1 // 8: bitstring of 32 bit with time tag, 32位比特串-带时标 M_ME_NA_1 // 9: measured value, normalized value, 测量值,规一化值 M_ME_TA_1 // 10: measured value, normalized value with time tag, 测量值,规一化值-带时标 M_ME_NB_1 // 11: measured value, scaled value, 测量值,标度化值 M_ME_TB_1 // 12: measured value, scaled value with time tag, 测量值带时标,标度化值-带时标 M_ME_NC_1 // 13: measured value, short floating point number, 测量值,短浮点数 M_ME_TC_1 // 14: measured value, short floating point number with time tag, 测量值,短浮数-带时标 M_IT_NA_1 // 15: integrated totals, 累积量 M_IT_TA_1 // 16: integrated totals with time tag, 累积量带时标 M_EP_TA_1 // 17: event of protection equipment with time tag, 继电器保护设备事件-带时标 M_EP_TB_1 // 18: packed start events of protection equipment with time tag, 继电保护设备成组启动事件-带时标 M_EP_TC_1 // 19: packed output circuit information of protection equipment with time tag, 继电保护设备成组输出电路信息-带时标 M_PS_NA_1 // 20: packed single-point information with status change detection, 带变位检出的成组单点信息 M_ME_ND_1 // 21: measured value, normalized value without quality descriptor, 测量值,不带品质描述词的规一化值 M_SP_TB_1 // 30: single-point information with time tag CP56Time2a, 单点信息-带CP56Time2a M_DP_TB_1 // 31: double-point information with time tag CP56Time2a, 双点信息-带CP56Time2a M_ST_TB_1 // 32: step position information with time tag CP56Time2a, 步位置信息-带CP56Time2a M_BO_TB_1 // 33: bitstring of 32 bits with time tag CP56Time2a, 32比特串-带CP56Time2a M_ME_TD_1 // 34: measured value, normalized value with time tag CP56Time2a, 测量值,规一化值-带CP56Time2a M_ME_TE_1 // 35: measured value, scaled value with time tag CP56Time2a, 测量值,标度化值-带CP56Time2a M_ME_TF_1 // 36: measured value, short floating point number with time tag CP56Time2a, 测量值,短浮点数-带CP56Time2a M_IT_TB_1 // 37: integrated totals with time tag CP56Time2a, 累积值-带CP56Time2a M_EP_TD_1 // 38: event of protection equipment with time tag CP56Time2a, 继电保护装置事件-带CP56Time2a M_EP_TE_1 // 39: packed start events of protection equipment with time tag CP56Time2a, 继电保护装置成组启动事件-带CP56Time2a M_EP_TF_1 // 40: packed output circuit information of protection equipment with time tag CP56Time2a, 继电保护装置成组输出电路信息-带CP56Time2a S_IT_TC_1 // 41: integrated totals containing time-tagged security statistics // 在控制方向的过程信息 <45..69> C_SC_NA_1 // 45: single command 单点命令 C_DC_NA_1 // 46: double command 双点命令 C_RC_NA_1 // 47: regulating step command 调节步命令 C_SE_NA_1 // 48: set-point command, normalized value 设定值命令,归一化值 C_SE_NB_1 // 49: set-point command, scaled value 设定值命令,规度化值 C_SE_NC_1 // 50: set-point command, short floating point number 设定值命令,短浮点数值 C_BO_NA_1 // 51: bitstring of 32 bits 23位比特串 C_SC_TA_1 // 58: single command with time tag CP56Time2a C_DC_TA_1 // 59: double command with time tag CP56Time2a C_RC_TA_1 // 60: regulating step command with time tag CP56Time2a C_SE_TA_1 // 61: set-point command with time tag CP56Time2a, normalized value C_SE_TB_1 // 62: set-point command with time tag CP56Time2a, scaled value C_SE_TC_1 // 63: set-point command with time tag CP56Time2a, short floating point number C_BO_TA_1 // 64: bitstring of 32-bit with time tag CP56Time2a // 在监视方向的系统命令 <70..99> M_EI_NA_1 // 70: end of initialization 初始化结束 S_CH_NA_1 // 81: authentication challenge S_RP_NA_1 // 82: authentication reply S_AR_NA_1 // 83: aggressive mode authentication request S_KR_NA_1 // 84: session key status request S_KS_NA_1 // 85: session key status S_KC_NA_1 // 86: session key change S_ER_NA_1 // 87: authentication error S_US_NA_1 // 90: user status change S_UQ_NA_1 // 91: update key change request S_UR_NA_1 // 92: update key change reply S_UK_NA_1 // 93: update key change — symetric S_UA_NA_1 // 94: update key change — asymetric S_UC_NA_1 // 95: update key change confirmation // 在控制方向的系统命令 <100..109> C_IC_NA_1 // 100: interrogation command 总召唤 C_CI_NA_1 // 101: counter interrogation command 计数量召唤 C_RD_NA_1 // 102: read command 读命令 C_CS_NA_1 // 103: clock synchronization command 时钟同步命令 C_TS_NA_1 // 104: test command 测试命令 C_RP_NA_1 // 105: reset process command 复位进程命令 C_CD_NA_1 // 106: delay acquisition command 延时获得命令 C_TS_TA_1 // 107: test command with time tag CP56Time2a 带CP56Time2a的测试命令 // 在控制方向的参数命令 <110..119> P_ME_NA_1 // 110: parameter of measured value, normalized value 测量值参数,规一化值 P_ME_NB_1 // 111: parameter of measured value, scaled value 测量值参数,标度化值 P_ME_NC_1 // 112: parameter of measured value, short floating point number 测量值参数,短浮点数 P_AC_NA_1 // 113: parameter activation 参数激活 // 文件传输 <120..127> F_FR_NA_1 // 120: file ready 文件准备就绪 F_SR_NA_1 // 121: section ready 节准备就绪 F_SC_NA_1 // 122: call directory, select file, call file, call section 如唤目录,选择文件,召唤文件,召唤节 F_LS_NA_1 // 123: last section, last segment 最后的节,最后的段 F_AF_NA_1 // 124: ack file, ack section 认可文件,认可节 F_SG_NA_1 // 125: segment 段 F_DR_TA_1 // 126: directory 目录 F_SC_NB_1 // 127: QueryLog - request archive file (section 104) 查询日志 )
The standard ASDU type identification. M for monitored information C for control information P for parameter F for file transfer. <0> 未用 <1..127> 标准定义 - 兼容 <128..135> 为路由报文保留 - 专用 <136..255> 特殊应用 - 专用 NOTE: 信息对象带或不带时标由标识符类型的不同序列来区别
type VariableStruct ¶
VariableStruct is variable structure qualifier See companion standard 101, subclass 7.2.2. number <0..127>: bit0 - bit6 seq: bit7 0: 同一类型,有不同objAddress的信息元素集合 (地址+元素)*N 1: 同一类型,相同objAddress顺序信息元素集合 (一个地址,N元素*N)
func ParseVariableStruct ¶
func ParseVariableStruct(b byte) VariableStruct
ParseVariableStruct parse byte to variable structure qualifier
func (VariableStruct) String ¶
func (sf VariableStruct) String() string
String 返回 variable structure 的格式
func (VariableStruct) Value ¶
func (sf VariableStruct) Value() byte
Value encode variable structure to byte