rts-sim-module/component/pscada.go

61 lines
1.9 KiB
Go
Raw Normal View History

2023-12-07 16:28:29 +08:00
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]()
)