我正在为加热系统编写一个控制器,该控制器响应放置加热系统房屋的电网状态。我正在尝试几个控制器,但给我带来问题的是下一个。
我正在尝试编写一个模型,该模型考虑了电网中产生的可再生能源的数量。当满足外部能量的某个阈值时,加热系统应该打开(以在本地使用能量)。它是需求侧管理的一种形式。我遇到的问题是,当门槛加热系统打开时。这反过来意味着不再满足门槛,因为能源是在当地使用的。控制器由布尔值表示。如果达到阈值,则为真,否则为假。
这是我认为有问题的代码部分:
算法
if CurrentGoingExternal > 5 then SwitchOn :=true;
elseif CurrentGoingExternal < 5 and pre(SwitchOn) then SwitchOn :=true;
elseif CurrentGoingExternal < 1 then SwitchOn :=false;
else SwitchOn :=false;
end if;
在模拟时,我得到布尔值无法计算的错误,因为满足阈值可确保加热开关打开,从而确保布尔值在同一时间段内变为错误。因此,我正在寻找一种方法来将布尔值“设置或锁定”为真,从达到阈值的那一刻到下一个时间段开始时,应该再次检查它。即使在那个时间段内,由于加热系统在开始时打开,也不会达到阈值。
我尝试了诸如 noEvent 之类的方法,但这似乎不适用于持续的问题。
谢谢你的帮助。