69 lines
2.0 KiB
Go
69 lines
2.0 KiB
Go
package component
|
||
|
||
import "joylink.club/ecs"
|
||
|
||
// FanDevice 风机设备
|
||
// 正转即顺时针转-排风;反转即逆时针转-进风
|
||
type FanDevice struct {
|
||
Speed float32 //风机转速,r/min
|
||
Forward bool //true-正转;false-反转
|
||
Fs FanSwitch //风机开关
|
||
}
|
||
|
||
// FanSwitch 风机电源开关定义
|
||
type FanSwitch uint8
|
||
|
||
const (
|
||
Off FanSwitch = iota
|
||
OnForward //正转
|
||
OnReverse //反转
|
||
)
|
||
|
||
func (f *FanSwitch) Off() bool {
|
||
return *f == Off
|
||
}
|
||
func (f *FanSwitch) OnForward() bool {
|
||
return *f == OnForward
|
||
}
|
||
func (f *FanSwitch) OnReverse() bool {
|
||
return *f == OnReverse
|
||
}
|
||
func (f *FanSwitch) On() bool {
|
||
return *f == OnReverse || *f == OnForward
|
||
}
|
||
|
||
// FanFcUnit 风机变频器
|
||
// 电机转速与变频器频率关系 计算公式:n=60f/p(其中n是同步转速,f是频率,P是磁极对数)
|
||
// 变频器的额定输出频率一般为0-100HZ
|
||
type FanFcUnit struct {
|
||
F uint16 //变频器频率(0-100HZ)
|
||
}
|
||
|
||
// FanBypassUnit 风机旁路装置
|
||
type FanBypassUnit struct {
|
||
Bypass bool //true-风机旁路已开启
|
||
}
|
||
|
||
// FanSoftStartUnit 风机软启装置
|
||
type FanSoftStartUnit struct {
|
||
SoftStart bool //true-风机软启已开启
|
||
}
|
||
|
||
// FanHighLowSpeedMode 风机双速模式控制
|
||
type FanHighLowSpeedMode struct {
|
||
HighMode bool //true-风机高速模式;false-风机低速模式
|
||
}
|
||
|
||
var (
|
||
FanDeviceType = ecs.NewComponentType[FanDevice]() //风机设备
|
||
FanFcUnitType = ecs.NewComponentType[FanFcUnit]() //风机变频装置
|
||
FanBypassUnitType = ecs.NewComponentType[FanBypassUnit]() //风机旁路装置
|
||
FanSoftStartUnitType = ecs.NewComponentType[FanSoftStartUnit]() //风机软启装置
|
||
FanHighLowSpeedModeType = ecs.NewComponentType[FanHighLowSpeedMode]() //风机双速模式控制
|
||
|
||
CommonFanTag = ecs.NewTag() //一般风机
|
||
FcBypassFanTag = ecs.NewTag() //变频旁路风机
|
||
SoftStartFanTag = ecs.NewTag() //软启动风机
|
||
HighLowSpeedFanTag = ecs.NewTag() //双速风机
|
||
)
|