rts-sim-module/component/pscada.go
2023-12-07 16:28:29 +08:00

61 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package component
import (
"joylink.club/ecs"
"joylink.club/rtsssimulation/consts"
)
//电力系统相关组件定义
// TransBusbar 输电母线
type TransBusbar struct {
Vl consts.VoltageLevel //电压等级
Elec consts.ElecYwEnum
}
// TwoPositionSwitch 对一条路通-断控制的开关状态
// 如断路器
// 如PT、负极柜隔离开关、轨电位、上网隔离开关、隔离开关
type TwoPositionSwitch struct {
Position consts.SwitchTwoPosition
}
// /////////////////////////////////////////
// ThreePositionSwitch 三工位开关
// 对于三工位隔离开关规定ClosedPosition1-合闸到工作位ClosedPosition2-合闸到接地位
type ThreePositionSwitch struct {
Position consts.SwitchThreePosition
}
/////////////////////////////////////////////
// HandcartSwitch 手车式开关
type HandcartSwitch struct {
Position consts.HandcarPosition
}
//////////////////////////////////////////
// ElecDevice 一般电力设备
// 如:变压器、整流器
// Epu所有状态如35kV进线柜、35kV出线柜、1500V直流进线柜、配电变馈线柜、整流变馈线柜、35kV母联柜、500V直流馈线柜、1500V直流馈线柜、1500V直流负极柜
// Epu状态中除去报警400V进线柜、400V母联柜、三级负荷总开关、上网隔离开关柜、接口柜
type ElecDevice struct {
State consts.EpuStateEnum
}
// DeviceNet 设备联网状态
type DeviceNet struct {
Online bool //true-网络通信正常false-通信中断
}
var (
ElecDeviceType = ecs.NewComponentType[ElecDevice]()
DeviceNetType = ecs.NewComponentType[DeviceNet]()
HandcartSwitchType = ecs.NewComponentType[HandcartSwitch]()
ThreePositionSwitchType = ecs.NewComponentType[ThreePositionSwitch]()
TwoPositionSwitchType = ecs.NewComponentType[TwoPositionSwitch]()
TransBusbarType = ecs.NewComponentType[TransBusbar]()
)