修正PyroFollow模式下PSU1和PSU3没有跟随PSU2的问题。

This commit is contained in:
SL 2024-03-01 13:52:52 +08:00
parent f48ee93ec7
commit fc7cbe3b53
1 changed files with 12 additions and 33 deletions

View File

@ -1029,25 +1029,15 @@ namespace Aitex.Core.RT.Device.Devices
{ {
if (HeaterModeSetPoint == HeaterControlMode.PyroFollow) if (HeaterModeSetPoint == HeaterControlMode.PyroFollow)
{ {
if(!IsFloatEqual(L2TargetOPSetPoint, L2WorkingOPFeedBack)) if (!IsFloatEqual(L2TargetOPSetPoint, L2WorkingOPFeedBack))
L2TargetOPSetPoint = L2WorkingOPFeedBack; L2TargetOPSetPoint = L2WorkingOPFeedBack;
if (!IsFloatEqual(ref _ssL2WorkingOPFeedBack, L2WorkingOPFeedBack)
|| !IsFloatEqual(ref _ssL1RatioSetPoint, L1RatioSetPoint)
|| !IsFloatEqual(ref _ssL2RatioSetPoint, L2RatioSetPoint))
{
_ssL2WorkingOPFeedBack = L2WorkingOPFeedBack;
var l1 = L2RatioSetPoint > 0 ? L2WorkingOPFeedBack * L1RatioSetPoint / L2RatioSetPoint : 0; var l1 = L2RatioSetPoint > 0 ? L2WorkingOPFeedBack * L1RatioSetPoint / L2RatioSetPoint : 0;
L1TargetOPSetPoint = l1 > 100 ? 100 : l1; L1TargetOPSetPoint = l1 > 100 ? 100 : l1;
}
if (!IsFloatEqual(ref _ssL2WorkingOPFeedBack, L2WorkingOPFeedBack)
|| !IsFloatEqual(ref _ssL3RatioSetPoint, L3RatioSetPoint)
|| !IsFloatEqual(ref _ssL2RatioSetPoint, L2RatioSetPoint))
{
var l3 = L2RatioSetPoint > 0 ? L2WorkingOPFeedBack * L3RatioSetPoint / L2RatioSetPoint : 0; var l3 = L2RatioSetPoint > 0 ? L2WorkingOPFeedBack * L3RatioSetPoint / L2RatioSetPoint : 0;
L3TargetOPSetPoint = l3 > 100 ? 100 : l3; L3TargetOPSetPoint = l3 > 100 ? 100 : l3;
}
} }
else //Power else //Power
{ {
@ -1063,28 +1053,17 @@ namespace Aitex.Core.RT.Device.Devices
} }
else if (Name == "TC2") else if (Name == "TC2")
{ {
if (HeaterModeSetPoint == HeaterControlMode.PyroFollow)//Pyro和TC if (HeaterModeSetPoint == HeaterControlMode.PyroFollow) //Pyro和TC
{ {
if (!IsFloatEqual(L3TargetOPSetPoint, L3WorkingOPFeedBack))
if(!IsFloatEqual(L3TargetOPSetPoint, L3WorkingOPFeedBack))
L3TargetOPSetPoint = L3WorkingOPFeedBack; L3TargetOPSetPoint = L3WorkingOPFeedBack;
if (!IsFloatEqual(ref _ssL3WorkingOPFeedBack, L3WorkingOPFeedBack)
|| !IsFloatEqual(ref _ssL1RatioSetPoint, L1RatioSetPoint)
|| !IsFloatEqual(ref _ssL3RatioSetPoint, L3RatioSetPoint))
{
var l1 = L3RatioSetPoint > 0 ? L3WorkingOPFeedBack * L1RatioSetPoint / L3RatioSetPoint : 0; var l1 = L3RatioSetPoint > 0 ? L3WorkingOPFeedBack * L1RatioSetPoint / L3RatioSetPoint : 0;
L1TargetOPSetPoint = l1 > 100 ? 100 : l1; L1TargetOPSetPoint = l1 > 100 ? 100 : l1;
}
if (!IsFloatEqual(ref _ssL3WorkingOPFeedBack, L3WorkingOPFeedBack)
|| !IsFloatEqual(ref _ssL2RatioSetPoint, L2RatioSetPoint)
|| !IsFloatEqual(ref _ssL3RatioSetPoint, L3RatioSetPoint))
{
var l2 = L3RatioSetPoint > 0 ? L3WorkingOPFeedBack * L2RatioSetPoint / L3RatioSetPoint : 0; var l2 = L3RatioSetPoint > 0 ? L3WorkingOPFeedBack * L2RatioSetPoint / L3RatioSetPoint : 0;
L2TargetOPSetPoint = l2 > 100 ? 100 : l2; L2TargetOPSetPoint = l2 > 100 ? 100 : l2;
} }
}
else //Power else //Power
{ {
if(!IsFloatEqual(ref _ssL1RatioSetPoint, L1RatioSetPoint)) if(!IsFloatEqual(ref _ssL1RatioSetPoint, L1RatioSetPoint))