132 lines
3.6 KiB
Go
132 lines
3.6 KiB
Go
package component
|
||
|
||
import (
|
||
"joylink.club/ecs"
|
||
)
|
||
|
||
//ISCS 电力系统相关组件定义
|
||
|
||
// CircuitBreaker 电路断路器
|
||
// 具体异常-通信中断
|
||
type CircuitBreaker struct {
|
||
Closed bool //true-合闸;false-分闸
|
||
}
|
||
|
||
// ThreePositionSwitch 三工位开关
|
||
// 具体异常-异常、通信中断
|
||
type ThreePositionSwitch struct {
|
||
Position SwitchThreePosition
|
||
}
|
||
|
||
// SwitchThreePosition 三工位开关位置定义
|
||
type SwitchThreePosition uint8
|
||
|
||
const (
|
||
StpOpened SwitchThreePosition = iota //开关分闸,线路断开,未与任何位置接通
|
||
StpClosedWorking //隔离开关合闸
|
||
StpClosedLanding //接地开关合闸
|
||
)
|
||
|
||
func (p *SwitchThreePosition) Opened() bool {
|
||
return *p == StpOpened
|
||
}
|
||
func (p *SwitchThreePosition) ClosedWorking() bool {
|
||
return *p == StpClosedWorking
|
||
}
|
||
func (p *SwitchThreePosition) ClosedLanding() bool {
|
||
return *p == StpClosedLanding
|
||
}
|
||
|
||
/////////////////////////
|
||
|
||
// HandcartSwitch 手车式开关
|
||
// 具体异常-通信中断
|
||
type HandcartSwitch struct {
|
||
Position HandcarPosition
|
||
}
|
||
|
||
// HandcarPosition 手车式开关位置定义
|
||
type HandcarPosition uint8
|
||
|
||
const (
|
||
HpOpened HandcarPosition = iota //工作位分闸
|
||
HpClosed //工作位合闸
|
||
HpTest //实验位
|
||
)
|
||
|
||
func (p *HandcarPosition) Opened() bool {
|
||
return *p == HpOpened
|
||
}
|
||
func (p *HandcarPosition) Closed() bool {
|
||
return *p == HpClosed
|
||
}
|
||
func (p *HandcarPosition) Test() bool {
|
||
return *p == HpTest
|
||
}
|
||
|
||
////////////////////
|
||
|
||
// Rectifier 整流器
|
||
// 具体异常-故障、报警、通信中断
|
||
type Rectifier struct {
|
||
Normal bool //true-正常
|
||
}
|
||
|
||
// Disconnector 隔离开关
|
||
// 具体异常-异常、通信中断
|
||
type Disconnector struct {
|
||
Closed bool //true-合闸;false-分闸
|
||
}
|
||
|
||
// WireCabinet 线柜
|
||
// 具体异常-故障、报警、异常、通信中断
|
||
type WireCabinet struct {
|
||
Normal bool //true-正常
|
||
}
|
||
|
||
// LightningArrester 避雷器
|
||
type LightningArrester struct {
|
||
Normal bool //true-正常
|
||
}
|
||
|
||
// VoltageTransformer 变压器
|
||
// 具体异常-故障、报警、通信中断
|
||
type VoltageTransformer struct {
|
||
Normal bool //true-正常
|
||
}
|
||
|
||
// EarthingDevice 接地装置
|
||
type EarthingDevice struct {
|
||
Voltage uint32 //接地装置电压
|
||
}
|
||
|
||
////////////////////////////////////////////////////////////
|
||
|
||
// PscadaVoltageLevel 电力母线当前电压等级定义
|
||
type PscadaVoltageLevel uint8
|
||
|
||
const (
|
||
PscadaVoltageNon PscadaVoltageLevel = iota //未受电
|
||
PscadaVoltage110kV //110KV交流
|
||
PscadaVoltage35kV //35KV交流
|
||
PscadaVoltage400V //400V交流
|
||
PscadaVoltageDc1500V //1500V直流
|
||
)
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////
|
||
|
||
var (
|
||
CircuitBreakerType = ecs.NewComponentType[CircuitBreaker]() //断路器
|
||
ThreePositionSwitchType = ecs.NewComponentType[ThreePositionSwitch]() //三工位隔离开关
|
||
HandcartSwitchType = ecs.NewComponentType[HandcartSwitch]() //手车
|
||
DisconnectorType = ecs.NewComponentType[Disconnector]() //隔离开关
|
||
WireCabinetType = ecs.NewComponentType[WireCabinet]() //线柜
|
||
LightningArresterType = ecs.NewComponentType[LightningArrester]() //避雷器
|
||
RectifierType = ecs.NewComponentType[Rectifier]() //整流器
|
||
VoltageTransformerType = ecs.NewComponentType[VoltageTransformer]() //变压器
|
||
EarthingDeviceType = ecs.NewComponentType[EarthingDevice]() //接地装置
|
||
)
|
||
|
||
// BackupZiTouInputTag 备自投投入、退出标签
|
||
var BackupZiTouInputTag = ecs.NewTag() //备自投投入标签
|