rts-sim-module/component/iscs_pscada.go
2023-12-19 11:21:00 +08:00

109 lines
3.3 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"
)
//ISCS 电力系统相关组件定义
// CircuitBreaker 电路断路器
// 具体异常-通信中断
type CircuitBreaker struct {
Closed bool //true-合闸false-分闸
}
// ThreePositionSwitch 三工位开关
// 对于三工位隔离开关规定ClosedPosition1-合闸到工作位ClosedPosition2-合闸到接地位
// 具体异常-异常、通信中断
type ThreePositionSwitch struct {
Position SwitchThreePosition //合闸到位置1与位置1线路导通;合闸到位置2与位置2线路导通;分闸,线路断开,未与任何位置接通
}
// SwitchThreePosition 三工位开关位置定义
type SwitchThreePosition = uint8
const (
StpOpened SwitchThreePosition = iota //开关分闸,线路断开,未与任何位置接通
StpClosedWorking //隔离开关合闸
StpClosedLanding //接地开关合闸
)
/////////////////////////
// HandcartSwitch 手车式开关
// 具体异常-通信中断
type HandcartSwitch struct {
Position HandcarPosition
}
// HandcarPosition 手车式开关位置定义
type HandcarPosition = uint8
const (
HpOpened HandcarPosition = iota //工作位分闸
HpClosed //工作位合闸
HpTest //实验位
)
////////////////////
// Rectifier 整流器
// 具体异常-故障、报警、通信中断
type Rectifier struct {
Normal bool //true-正常
InputAcV uint32 //输入交流电压
OutputDcV uint32 //输出直流电压
}
// Disconnector 隔离开关
// 具体异常-异常、通信中断
type Disconnector struct {
Closed bool //true-合闸false-分闸
}
// WireCabinet 线柜
// 具体异常-故障、报警、异常、通信中断
type WireCabinet struct {
Normal bool //true-正常
}
// LightningArrester 避雷器
type LightningArrester struct {
Normal bool //true-正常
}
// AbcVoltageSource 三相电压源
//
// 35KV 1#和2#进线连接的国家电网可以视作电压源,为整个一次图中最终电的来源
type AbcVoltageSource struct {
}
// VoltageTransformer 变压器
// 具体异常-故障、报警、通信中断
type VoltageTransformer struct {
Normal bool //true-正常
InputV uint32 //输入电压值单位V
OutputV uint32 //输出电压值单位V
}
// VoltageABTransmission 电压传递从A传递到B,如断路器闭合时,电压会从断路器一端传递到另一端
type VoltageABTransmission struct {
}
// VoltageANTransmission 电压传递电源从A点传递到N个点
type VoltageANTransmission struct {
}
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]() //避雷器
AbcVoltageSourceType = ecs.NewComponentType[AbcVoltageSource]() //三相电压源
)
// BackupZiTouInputTag 备自投投入、退出标签
var BackupZiTouInputTag = ecs.NewTag() //备自投投入标签