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() //备自投投入标签