调速配置指导说明文档

一、设计原则

1.调速对象关系图及调速策略下发运行视图

 CoolingArea用来关联温度点(RequirementIdx)、参与调速的风扇(FanIndxGroup)和调速策略(PolicyIdxGroup),CoolingArea与CoolingRequirement应该一一对应;CoolingArea只能配置到PSR中(区分单电源和双电源);CoolingRequirement一般跟随单板所在的SR配置。

2.约束

  1. CoolingRequirement中的属性RequirementId"必须全局唯一,当前id支持有效16位,前8位baseid,后8位槽位号,对于唯一性器件,RequirementId可以配置为U8数(不支持配置成同步其他组件的属性);
  2. CoolingConfig类的InitLevelInStartup属性限制最小值为0,最大值为100,默认为100;
  3. CoolingConfig类的FanBoardNum属性为含有调速风扇的风扇板个数,多风扇板机型需要配置,不配置时默认值为1;
  4. 一个CoolingPolicy对象代表一条环温曲线,每个温度点可能关联0个或多个CoolingPolicy对象,取计算出来的转速最大值下发,删除CoolingPolicy需要在对应CoolingArea的PolicyIdxGroup里面删除对应的PolicyIdx;
  5. 线性调速策略温度区间为左闭右开;
  6. ActualCondVal与ExpCondVal相等,若配置了PCIeCardName、HDDBackPlaneName、FanType多个条件,需每个条件都满足,该Policy才生效;即环境上插入了PCIeCardName中的网卡之一(若配置了PCIeCardName),环境上加载了HDDBackPlaneName中的硬盘背板之一(若配置了HDDBackPlaneName),环境的风扇类型包含FanType中的类型之一(若配置了FanType);
  7. 调速区域CoolingArea关联的风扇Id列表FanIdxGroup中,风扇Id必须整体按数字由小到大顺序配置。

二、类与属性配置

1、CoolingConfig类配置

1.1 CoolingConfig定义

 CoolingConfig用于承载cooling模块全局配置,包含风扇转速设置范围、BMC启动初始转速等。

1.2 CoolingConfig属性说明

属性 类型 取值范围 说明
SmartCoolingState String “Enabled”
“Disabled”
智能调速使能状态,“Enabled”表示使能,“Disabled”表示不使能
SmartCoolingMode String “EnergySaving”
“LowNoise”
“HighPerformance”
“Custom”
“LiquidCooling”
智能调速模式,未配置时默认为"EnergySaving"
LevelPercentRange U8[] U8[] 手动设置转速级别(百分比)允许的范围
InitLevelInStartup U8 [0,100] 初始转速百分比(BMC复位过程到pid接管前下发转速),默认值为100,限制最小值为0,最大值为100
FanBoardNum U8 [0,255] 含有调速风扇的风扇板个数(多风扇板机型需要配置,默认值为1)

2、CoolingRequirement类配置

2.1 CoolingRequirement定义

 一个温度点对应一个CoolingRequirment对象,用于关联硬件温度和配置目标调速策略。

2.2 CoolingRequirement属性说明

属性 类型 取值范围 说明
RequirementId U64 U64 目标调速策略Id,id必须全局唯一,当前id支持有效16位,前8位baseid,后8位槽位号,对于唯一性器件,RequirementId可以配置为U8数(不支持配置成同步其他组件的属性)
TemperatureType U32 U32 温度点类型(具体查看下面表格中目标调速类型定义),默认值为4294967295,TemperatureType与目标温度调速类型对照如下:
1 Cpu
2 Outlet
3 Disk
4 Memory
5 PCH
6 VRD
7 VDDQ
8 NPUHb
9 NPUAiCore
10 NPUBoard
11 Inlet
12 SoCBoardOutlet
13 SoCBoardInlet
4294967295 InvalidType
MonitoringStatus U8 U8 温度点状态,用于异常调速,0正常,1异常
MonitoringValue Double Double 温度点值,关联硬件(注:不允许关联传感器Reading值)
FailedValue U64 U64 温度点状态异常时,如果配置了该值,则触发异常调速,将风扇转速百分比设为FailedValue,不配代表温度点异常不触发异常调速
BackupRequirementIdx U64 U64 备用温度点索引
TargetTemperatureCelsius U8 U8 当前调速目标值,默认配置EnergySaving模式的目标值
SmartCoolingTargetTemperature S16[] S16[] 依次存放节能、高性能、低噪三种模式下的目标值温度,不需要区分的话不配即可
MaxAllowedTemperatureCelsius U8 U8 目标调速触发满转的温度
CustomSupported Boolean true/false 是否支持自定义调速曲线,true:支持,false:不支持
CustomTargetTemperatureCelsius U8 U8 用户自定义温度值,自定义模式使用该值作为目标温度值进行调速
TargetTemperatureRangeCelsius U8[] U8[] 自定义目标温度值允许范围
Enabled String true/false 用户自定义温度点生效条件,true有效,false无效
SensorName String String 目标调速策略关联的传感器名称

3、CoolingPolicy类配置

3.1 CoolingPolicy定义

 CoolingPolicy为先行调速策略对象,一个CoolingPolicy对象代表一条环温曲线,每个温度点可能关联0个或多个CoolingPolicy对象,取计算出来的转速最大值下发,删除CoolingPolicy需要在对应CoolingArea的PolicyIdxGroup里面删除对应的PolicyIdx。

3.2 CoolingPolicy属性说明

属性 类型 取值范围 说明
PolicyIdx U64 U64 线性调速策略Id,PolicyIdx必须全局唯一
PolicyType U32 1 InletCustom
2 DiskCustom
4294967295 InvalidType
环温调速类型,仅支持自定义的曲线可配置
ExpCondVal String “EnergySaving”
“LowNoise”
“HighPerformance”
“Custom”
“LiquidCooling”
预期生效条件,CoolingPolicy生效前提是实际条件与期望条件一致
ActualCondVal String “EnergySaving”
“LowNoise”
“HighPerformance”
“Custom”
“LiquidCooling”
实际生效条件
Hysteresis U8 U8 迟滞量,当前温度小于等于全速值(MaxAllowedTemperatureCelsius)减迟滞量时,退出满转
TemperatureRangeLow S16[] S16[] 线性调速策略温度区间左值
TemperatureRangeHigh S16[] S16[] 线性调速策略温度区间右值
SpeedRangeLow S16[] S16[] 线性调速策略转速区间左值
SpeedRangeHigh S16[] S16[] 线性调速策略转速区间右值
FanSpeedRangePercents U8[] U8[] 自定义调速曲线风扇转速允许范围
PCIeCardName String[] String[] 关联的PCIe卡名称该列表中,环境插入了该列表中网卡之一时,网卡条件生效
HDDBackPlaneName String[] String[] 硬板背板名称列表,环境有该列表中背板之一时,背板条件生效
FanType String[] String[] 风扇类型列表,环境含有该列表中风扇类型之一时,风扇条件生效

4、 CoolingArea类配置

4.1 CoolingArea定义

 CoolingArea主要用于将CoolingRequirement、CoolingPolicy、CoolingFan(风扇对象)对象关联起来,该配置描述了一个温度点调速需要哪几个风扇参与,也描述了温度点关联哪些环温调速曲线。建议如果新增了CoolingRequirement,则增加对象的CoolingArea,若CoolingArea不参与调速,则PolicyIdxGroup和LiquidCoolingDeviceGroup默认配置为空即可。这样配置的好处是:1、显式的占据了一个器件位置;2、下发目标转速的时候会检测是否存在CoolingArea,如果不存在会报错(例如,借用温度点,业务代码无法知道是漏配置还是未分发),CoolingArea必须配置在PSR。

4.2 CoolingArea属性说明

属性 类型 取值范围 说明
AreaId U8 U8 调速区域Id,AreaId必须全局唯一
RequirementIdx U64 U64 调速区域关联的目标调速策略Id,与U8的RequirementId一致或者U16的BaseId一致
PolicyIdxGroup U64[] U64[] 调速区域关联的环温调速索引
FanIdxGroup U8[] U8[] 调速区域关联的风扇Id(CoolingFan.FanId)集合,表示参与该区域调速的风扇Id
Priority U8 U8 调速区域对象优先级,默认为1,数值越小优先级越高,AreaId重复的对象以优先级高的进行调速
LiquidCoolingDeviceGroup U8[] U8[] 调速区域关联的液冷设备Id列表

5、AbnormalFan 类配置

5.1 AbnormalFan定义

 AbnormalFan为异常调速风扇对象。

5.2 AbnormalFan属性说明

属性 类型 取值范围 说明
Id U32 U32 异常调速风扇的Id,Id必须全局唯一
FanIdx U32 U32 关联的CoolingFan的索引
Status String “AbnormalRotation"
“NotInPosition”
风扇异常状态,“AbnormalRotation":转速异常,“NotInPosition”:不在位
FanGroup U32[] U32[] 触发异常后,参与异常转速调速的风扇Id
Priority U8 U8 对象优先级,默认为1,数值越小优先级越高

三、调速配置实例

1、目标调速

  • 举例:出风口目标调速配置
SmartCooling调速模式 目标值 对应风扇序号 触发全速门限 高温告警门限 温度规格 调速迟滞量 告警迟滞量 传感器失效异常调速
SmartCooling-节能模式(默认) 50Fan6075//280%
SmartCooling-高性能模式 47
SmartCooling-低噪模式 53
"CoolingRequirement_1_7": {
    "RequirementId": 7,
    "TemperatureType": 2,//目标调速温度类型为出风口
    "MonitoringStatus": "<=/Scanner_Lm75_Outlet.Status",//同步Scanner_Lm75_Outlet的状态
    "MonitoringValue": "<=/Scanner_Lm75_Outlet.Value",//同步Scanner_Lm75_Outlet的值
    "FailedValue": 80,//温度状态异常后的异常调速转速为80%
    "TargetTemperatureCelsius": 45,//目标温度为45摄氏度
    "MaxAllowedTemperatureCelsius": 60,//温度大于等于60摄氏度时触发满转
    "TargetTemperatureRangeCelsius": [//自定义目标温度值允许的范围为45~60摄氏度
        45,
        60
    ],
    "SmartCoolingTargetTemperature": [//节能、高性能、低噪三种模式下的目标值温度分别为50、47、53
        50,
        47,
        53
    ],
    "CustomSupported": true,//支持自定义调速曲线
    "CustomTargetTemperatureCelsius": 52,//自定义目标调速温度值为52摄氏度
    "SensorName": "#/ThresholdSensor_OutletTemp.SensorName"
},
"CoolingArea_1_7": {
    "AreaId": 7,
    "RequirementIdx": 7,//关联的温度点为RequirementId为7
    "PolicyIdxGroup": [],
    "FanIdxGroup": [//调速区域7调速的关联的风扇Id为1、2、3、4
        1,
        2,
        3,
        4
    ]
}

2、环温调速

  • 举例:入风口目标调速配置(CoolingRequirement_1_8作为CoolingRequirement_1_6的备份温度点)

环境温度(Ta)调速区间和风扇转速的对应表:

环境温度范围 Ta<=20 Ta=21 Ta=22 Ta=22 Ta=23 Ta=24 Ta=25 Ta=26 Ta=27 Ta=28 Ta=29 Ta=30 Ta=31 Ta=32 Ta=33 Ta=34 Ta=35 Ta=36 Ta=37 Ta=38 Ta=39 Ta=40 Ta=41 Ta=42 Ta=43 Ta=44 Ta>=45
风扇转速 30% 30% 30% 30% 30% 30% 34% 38% 42% 46% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100% 100% 100% 100% 100% 100% 100%
风扇转速 40% 40% 40% 40% 40% 42% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%

该例中,AreaId为6的调速区域CoolingArea_1_6关联的温度点为CoolingRequirement_1_6,关联的调速策略为CoolingPolicy_1_6、CoolingPolicy_1_7,CoolingPolicy中配置了环温调速曲线,参与CoolingArea_1_6调速的风扇Id 为1~4。

"CoolingConfig_1": {
    "SmartCoolingState": "Enabled",//智能调速状态使能
    "SmartCoolingMode": "EnergySaving",//智能调速模式为节能模式
    "LevelPercentRange": [//手动设置转速级别允许的范围为10%~100%
        10,
        100
    ],
    "InitLevelInStartup": 100,//初始转速为100%
    "DiskRowTemperatureAvailable": false
},
"CoolingRequirement_1_6": {
    "RequirementId": 6,
    "TemperatureType": 11,//温度类型为入风口
    "MonitoringStatus": "<=/Scanner_Lm75_Inlet.Status",
    "MonitoringValue": "<=/Scanner_Lm75_Inlet.Value",
    "FailedValue": 80,
    "BackupRequirementIdx": 8,//该温度点的备用温度点Id为8
    "SensorName": "#/ThresholdSensor_InletTemp.SensorName"//该温度点关联的传感器名称
},
"CoolingArea_1_6": {
    "AreaId": 6,
    "RequirementIdx": 6,//该调速区域关联的温度点(CoolingRequirement)Id为6
    "PolicyIdxGroup": [6, 7],//该调速区域关联的调速策略(CoolingPolicy)Id为6、7
    "FanIdxGroup": [//该调速区域关联的风扇Id为1、2、3、4
        1,
        2,
        3,
        4
    ]
}
"CoolingPolicy_1_6": {
    "PolicyIdx": 6,
    "ExpCondVal": "EnergySaving",//调速策略预期生效的条件为节能模式
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",//实际的模式
    "Hysteresis": 1,//迟滞量为1
    "TemperatureRangeLow": [//线性调速策略温度区间左值
        -127, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,  37, 38, 39, 40, 41, 42, 43,  44, 45
    ],
    "TemperatureRangeHigh": [//线性调速策略温度区间右值
        20,  21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 127
    ],
    "SpeedRangeLow": [//线性调速策略转速区间左值
        30, 30, 30, 30, 30, 30, 30, 34, 38, 42, 46, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100
    ],
    "SpeedRangeHigh": [//线性调速策略转速区间右值
        30, 30, 30, 30, 30, 30, 30, 34, 38, 42, 46, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100
    ]
}
"CoolingPolicy_1_7": {
    "PolicyIdx": 7,
    "ExpCondVal": "HighPerformance",//调速策略预期生效的条件为高性能模式
    "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",//实际的模式
    "Hysteresis": 1,
    "TemperatureRangeLow": [//线性调速策略温度区间左值
        -127,  20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45
    ],
    "TemperatureRangeHigh": [//线性调速策略温度区间右值
        20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 127
    ],
    "SpeedRangeLow": [//线性调速策略转速区间左值
        40, 40, 40, 40, 40, 40, 42, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100
    ],
    "SpeedRangeHigh": [//线性调速策略转速区间右值
        40, 40, 40, 40, 40, 40, 42, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100
    ]
}

 以上配置中,TemperatureRangeLow、TemperatureRangeHigh、SpeedRangeLow、SpeedRangeHigh中的第i个值,可以理解为:当温度大于等于TemperatureRangeLow[i]并且小于TemperatureRangeHigh[i]时,风扇的转速百分比大于等于SpeedRangeLow[i]、小于等于SpeedRangeHigh[i],例如
温度区间[-127, 20),风扇的speed范围为[30, 30];温度区间[20, 21),风扇的speed范围为[30, 30]。

3、 异常调速

 触发异常调速的场景包括温度点获取异常和风扇异常。温度点获取异常的场景可参考本章“1.目标调速”中“出风口目标调速配置”:CoolingRequirement_1_7.MonitoringStatus变为0时,风扇不小于FailedValue的值。

//(1)风扇1转速异常后触发异常调速,风扇1、2转速不低于80%(SpeedPercentage默认为8)
"AbnormalFan_1": {
    "Id": 1,
    "FanIdx": 1,//关联的异常风扇Id为1
    "Status": "AbnormalRotation",//当风扇1的异常状态为转速异常时,触发该异常调速
    "FanGroup": [1, 2]//参与异常调速的风扇Id为1、2,它们的转速被拉至80%
}
//(2)风扇2不在位后触发异常调速,风扇1、2转速不低于100%
"AbnormalFan_2": {
    "Id": 2,
    "FanIdx": 1,//关联的异常风扇Id为2
    "Status": "NotInPosition",//当风扇2的异常状态为不在位时,触发该异常调速
    "FanGroup": [1, 2],//参与异常调速的风扇Id为1、2,它们的转速被拉至100%
    "SpeedPercentage": 100//触发该异常调速后,FanGroup关联的风扇1、2转速被拉至100%
}

4、温度点备份调速

 这个例子中,配置温度点8(备用温度点)为温度点6(主温度点)的备份温度点,主温度点6获取失败时,采用备份温度点8的温度值作为调速温度值。

 备用温度点CoolingRequirement_1_8的RequirementId为8,需要将主温度点CoolingRequirement_1_6的BackupRequirementIdx配为8,并且将CoolingRequirement_1_8的IsBackupRequirement配为true:

"CoolingRequirement_1_8": {//备用温度点
    "RequirementId": 8,
    "MonitoringStatus": "<=/Scanner_FanBrdTemp.Status",
    "MonitoringValue": "<=/Scanner_FanBrdTemp.Value",
    "IsBackupRequirement": true,
    "SensorName": "#/ThresholdSensor_FanBoardTemp.SensorName"
},
"CoolingArea_1_8": {
    "AreaId": 8,
    "RequirementIdx": 8,//该调速区域关联温度点8
    "PolicyIdxGroup": [],
    "FanIdxGroup":[]
}
"CoolingRequirement_1_6": {//主用温度点
    "RequirementId": 6,
    "TemperatureType": 11,//温度类型为进风口
    "MonitoringStatus": "<=/Scanner_Lm75_Inlet.Status",
    "MonitoringValue": "<=/Scanner_Lm75_Inlet.Value",
    "FailedValue": 80,//温度点失效时触发异常调速,将风扇转速拉至80%
    "BackupRequirementIdx": 8,//在这里配置温度点8为温度点6的备用温度点
    "SensorName": "#/ThresholdSensor_InletTemp.SensorName"
},
"CoolingArea_1_6": {
    "AreaId": 6,
    "RequirementIdx": 6,//该调速区域关联温度点6
    "PolicyIdxGroup": [],
    "FanIdxGroup": [//该调速区域参与调速的风扇Id为1、2、3、4
        1,
        2,
        3,
        4
    ]
}

风扇组间转速差:

//以下配置中,风扇组FanGroup_1、FanGroup_2、FanGroup_3的最大转速差不超过20%,下发给psu的风扇转速为风扇组FanGroup_1、FanGroup_2、FanGroup_3的最大值加5%
"BasicCoolingConfig": {
    "FanGroupSpeedDiffThresholdPercent": 20, //风扇组转速差阈值百分比,默认值表示不进行转速差计算
    "PsuFanSpeedCalibration": 5 //psu风扇转速值校准,默认值表示不进行psu转速下发
},
"FanGroup_1": {
    "Id": 1,
    "FanSlots": [1, 2, 3, 4, 5]//风扇组1关联的风扇Id为1~5
}
"FanGroup_2": {
    "Id": 2,
    "FanSlots": [6, 7, 8, 9, 10]//风扇组2关联的风扇Id为6~10
}
"FanGroup_3": {
    "Id": 3,
    "FanSlots": [11, 12, 13, 14, 15]//风扇组3关联的风扇Id为11~15
}

5、带光模块卡的调速

光模块温度状态正常时,生效CoolingRequirement_1_55和CoolingRequirement_1_56;
光模块温度异常时,CoolingRequirement_1_56无FailedValue,不触发异常调速,此时生效CoolingRequirement_1_155。

"CoolingRequirement_1_55": {
	"RequirementId": "${Slot} |> expr((55 << 8) | $1)",//RequirementId根据槽位号进行偏移
	"Description": "XXX卡温度调速", 
	"MonitoringStatus": "<=/Retimer_XX_Obj_0.TemperatureCelsius |> expr($1 >= 255 ? 1 : 0)",
	"MonitoringValue": "<=/Retimer_XX_Obj_0.TemperatureCelsius",
	"FailedValue": 80,//温度点状态异常时,触发异常调速,将风扇转速拉至80%
	"TargetTemperatureCelsius": 90,
	"MaxAllowedTemperatureCelsius": 100,
	"TargetTemperatureRangeCelsius": [],
	"ThresholdValue": [],
	"AlarmSpeed": [],
	"SmartCoolingTargetTemperature": [],
	"CustomSupported": false,
	"CustomTargetTemperatureCelsius": 255,
	"Enabled": "<=/CoolingRequirement_1_56.MonitoringStatus |> expr($1 == 0 ? true : false)",
	"SensorName": "#/ThresholdSensor_XX.SensorName"
},
"CoolingRequirement_1_155": {
	"RequirementId": "${Slot} |> expr((155 << 8) | $1)",
	"Description": "XXX卡温度(光模块异常)调速",
	"MonitoringStatus": "<=/Retimer_XX_Obj_0.TemperatureCelsius |> expr($1 >= 255 ? 1 : 0)",
	"MonitoringValue": "<=/Retimer_XX_Obj_0.TemperatureCelsius",
	"TargetTemperatureCelsius": 80,
	"MaxAllowedTemperatureCelsius": 100,
	"TargetTemperatureRangeCelsius": [],
	"ThresholdValue": [],
	"AlarmSpeed": [],
	"SmartCoolingTargetTemperature": [],
	"CustomSupported": false,
	"CustomTargetTemperatureCelsius": 255,
	"Enabled": "<=/CoolingRequirement_1_56.MonitoringStatus |> expr($1 ~= 0 ? true : false)",
	"SensorName": "#/ThresholdSensor_XX.SensorName"
},
"CoolingRequirement_1_56": {//未配置FailedValue,该温度点状态异常时,不触发异常调速
	"RequirementId": "${Slot} |> expr((56 << 8) | $1)",
	"Description": "XXX卡光模块温度调速",
	"MonitoringStatus": "<=/OpticalModule_1.TemperatureCelsius |> expr(($1 == 16384) ? 0 : ($1 >= 255 ? 1 : 0))",
	"MonitoringValue": "<=/OpticalModule_1.TemperatureCelsius",
	"TargetTemperatureCelsius": 62,
	"MaxAllowedTemperatureCelsius": 68,
	"TargetTemperatureRangeCelsius": [],
	"ThresholdValue": [],
	"AlarmSpeed": [],
	"SmartCoolingTargetTemperature": [],
	"CustomSupported": false,
	"CustomTargetTemperatureCelsius": 255
}	 

6、 多nic卡,多硬盘调速配置

"CoolingRequirement_1_61": {
	"RequirementId": "${Slot} |> expr((61 << 8) | $1)",//RequirementId需要根据槽位号进行偏移
	"MonitoringStatus": "<=/Scanner_XX.Value |> expr($1 >= 255 ? 1 : 0)",
	"MonitoringValue": "<=/Scanner_XX.Value",
	"FailedValue": 80,
	"TargetTemperatureCelsius": 44,
	"MaxAllowedTemperatureCelsius": 58,
	"TargetTemperatureRangeCelsius": [],
	"ThresholdValue": [],
	"AlarmSpeed": [],
	"Enabled": "<=/Drive_1.TemperatureCelsius;<=/Drive_2.TemperatureCelsius |> expr($1 + $2 >= 510 ? 1 : 0)",
	"SensorName": "#/ThresholdSensor_XX.SensorName"
},
"CoolingArea_1_61": {
	"AreaId": 61,
	"RequirementIdx": 61,
	"PolicyIdxGroup": [],
	"FanIdxGroup": [
	    1,
	    2,
	    3,
	    4
	]
}

7、 standby调速配置

standby调速,配置ActiveInStandby属性为True

"CoolingRequirement_1_2": {
	"RequirementId": 2,
	"Description": "xxx",
	"MonitoringStatus": "<=/DPUCard_1.Inlet1TemperatureCelsius |> expr(($1 == 32767) ? 1 : 0)",
	"MonitoringValue": "<=/DPUCard_1.Inlet1TemperatureCelsius |> expr(($1 == 0 || $1 > 200) ? 40 : ($1 & 255))",
	"FailedValue": 80,
	"TargetTemperatureCelsius": 55,
	"MaxAllowedTemperatureCelsius": 65,
	"ActiveInStandby": true,//ActiveInStandby配置为true表示支持standby调速时
	"SensorName": "#/ThresholdSensor_XX.SensorName"
},
"CoolingArea_1_2": {
	"AreaId": 2,
	"RequirementIdx": 2,
	"PolicyIdxGroup": [],
	"FanIdxGroup": [
	    1,
	    2,
	    3,
	    4
	]
}

8、 带泵机型仅有泵环温曲线调速配置

"CoolingRequirement_Pump_80": {
    "RequirementId": 80,
    "MonitoringStatus": "<=/Scanner_Lm75_Inlet.Status",
    "MonitoringValue": "<=/Scanner_Lm75_Inlet.Value",
    "TargetTemperatureCelsius": 80, //一个极大值,进风口温度无法达到的值,使得目标调速计算的转速为最低
    "MaxAllowedTemperatureCelsius": 100, //温度到达100摄氏度后会触发风扇满转
    "FailedValue": 100,
    "CoolingMedium": "Liquid"//调速中介为液冷
},
"CoolingArea_Pump_1_80": {
    "AreaId": 80,
    "RequirementIdx": 80,
    "PolicyIdxGroup": [80],
    "LiquidCoolingDeviceGroup": [//该调速区域关联的泵Id为1、2
        1,
        2
    ]
},
"CoolingPolicy_Pump_1_80": {
    "PolicyIdx": 80,
    "CoolingMedium": "Liquid",//调速中介为液冷
    "TemperatureRangeLow": [-127, 30],
    "TemperatureRangeHigh": [30, 127],
    "SpeedRangeLow": [50, 100],
    "SpeedRangeHigh": [50, 100]
}
5 个赞

你好!这个连接的信息可能对你解决本问题有所帮助,请参考,谢谢!

你好!这个连接的信息可能对你解决本问题有所帮助,请参考,谢谢!