我可以使用为s提供的实例在 Haskell FRP 库netwire中构建一个PID 控制器。loop
ArrowLoop
Wire
我还可以使用switch
.
如何实现无扰传输,例如使用此处解释的“跟踪”策略(或任何数量的控制工程文章/书籍)?如果它具有良好的性能,另一种策略可能是可以接受的,但是跟踪方法对我的应用程序很有吸引力,因为它还解决了抗饱和问题。
我很难眯着眼睛看框图,使它看起来像两个(或一个?)loop
应用程序的类型。
我可以使用为s提供的实例在 Haskell FRP 库netwire中构建一个PID 控制器。loop
ArrowLoop
Wire
我还可以使用switch
.
如何实现无扰传输,例如使用此处解释的“跟踪”策略(或任何数量的控制工程文章/书籍)?如果它具有良好的性能,另一种策略可能是可以接受的,但是跟踪方法对我的应用程序很有吸引力,因为它还解决了抗饱和问题。
我很难眯着眼睛看框图,使它看起来像两个(或一个?)loop
应用程序的类型。
每个图中有两个loop
s。在寻找循环来重绘图表时很有帮助,这样所有输入都进入所有元素的同一侧,所有输出离开相同的另一侧,并且如果可能的话,尽量减少线交叉。在这些图中,输入进入元素的底部、左侧或顶部,输出离开右侧。
整个系统有一个loop
,将过程的输出馈入减法中以进行误差比较:
控制系统有一个loop
,将选择控制器(PID控制器或手动控制)后的最终控制输出馈入跟踪PID控制器。整体输出是最右边的输出。
跟踪PID控制器有两个loop
s。一是导数的反馈回路。导loop
数可能会在另一个组件中消失。另一个loop
将 PID 控制器的输出反馈到 PID 控制器的输出与实际控制过程的控制输出之间的比较。请注意,此图中 P、D 和 I 分支的顺序不同,以删除线交叉
请注意,如果跟踪 PID 控制器将其自己的输出连接到 Track,则与第一次减法的差值为 0,并且积分分支不会因加 0 而改变。