这种情况下的信号是二进制的,代表逻辑真或者逻辑假。无论是开环的还是闭环的,这一类控制问题主要是关于被控对象调度的。
在3.5节里描述过并在8.4节和9.3.1节里回顾过的自动售货机或者自动洗车房就是简单的例子。在这类应用中,控制量的序列很关键。为了描述这个设计过程,考虑一个装填瓶子的过程,如图10-2所示。
如图10-2所示,传送带可以传输瓶子或是底托。处理这些瓶子时,每个底托会到达一个特定的位置,在这里执行预先编程好的操作。开始时,瓶子会被从加料底托中捡起,放在传送带上。经过清洗、烘干、装填、封闭、贴标签,最后包装放入运输箱里。
图10-2 瓶子自动装填系统
所有这些过程都是预先设计,一般情况下不会出现问题。每个操作台都是经过编程,只要瓶子在指定位置上就会执行任务并在传送带保持静止的指定时间内完成任务。从全局的视角来看,每个控制台的动作都是根据前馈命令执行的。在局部,闭环控制和模拟信号来完成规定任务。例如,填装操作可以用基于时间的开环方法或者基于使用填装液位的闭环来测定瓶子是否已经满了。原则上整个系统是一个混合体,既需要离散的变量也需要连续的变量。不过从全局观点来看,系统的进程可以通过单纯的基于逻辑的信号来捕获:瓶子是/不是在位置上;是/不是填满了等。控制量也是二进制的:传送带运行/静止,瓶子是开/关的,瓶子是满/空的。过程中的任何一个失误都会触发警报,警报也是逻辑信号,任务完成/任务未完成。
信号是二进制数值时,布尔代数(处理1和0)就可以应用。基本的逻辑运算像与、或、非以及他们的结合都可以用来描述系统动态性能。而且逻辑可以提供一个形式上的设计规格和设计验证。计算机工具可以综合处理这些设计,并给出可以实现整个控制器的计算机程序。
控制方法或是控制程序会变成一串逻辑语句。例如,填装瓶子控制台,可能有这样的形式:
IF“bott-in”(=1)And“bott-empty”(=1)THEN“start-filling”(=1)
IF“bott-full”(=1)And“filling-removed”(=1)THEN“bott-move”(=1)
有很多技术可以处理基于逻辑控制器的分析与设计。它们在计算机科学中扮演着重要的角色。原本这些算法是通过可编程序控制器(PLC)实现的。如图10-3所示描绘了一个时序系统的状态机,它由如下部分组成:
1)可数状态,S1,S2,…,Sn。这些状态代表着系统可能的运行状态,就像在瓶子装填系统中的那些操作台一样。在每个状态下系统会执行给定的任务或是一组任务或是几组任务直到任务完成,或者其他状态占据优先权。(www.xing528.com)
2)转换,t1,t2,…。在系统环境中有对应所有可能逻辑状态的有限目录。如果过程处在一个状态中触发了某种转换,并且如果这种转换实现了,自动机会转移到另一种被使能条件规定的状态。转换自身必须实现或者被使能,并且过程必须在转换生效之前处在使能状态中。
图10-3 时序系统
a)状态机 b)过渡时间
条件触发状态转换并用一组有限的可行转换来表示。
让我们来解释如图10-3a中所示自动机的行为。状态S1使能转换t1,而S3会使能转换t4,t5和t6。使能过渡的时间线如图10-3b所示。自动机初始状态为S1。当t1使能时,它会转移到S2。下一个会发生的转换是t3,系统就会转移到S3。这时,t2使能但是什么都没发生,因为系统状态并没有为这个转换使能。系统会保持S3状态,直到t4触发。
观察到如果t2比t3更早触发,自动机的转换就是不同的。大体说来,转换是异步触发的,可以在任何(模拟)时间触发,并且只由逻辑上使转换发生的条件来支配。
设计问题存在于确定一组状态和转换条件,这样自动机可以从任何初始状态移动到期望状态。不希望的状态就要避免。更好的是自动机可以从微小事故后的异常状态恢复。
对于像举出的例子一样简单的系统,设计是一项很容易的任务。难点在于复杂系统的设计。在制造工业中,自动机有成千上万的二进制条件和转换,找出自动机的问题也并不困难。这样系统的状态数会快速呈几何级数增长。n个二进制条件的描述就带来2n个可能状态。那么,对于n=10、100、1000、带来的状态就是1024,1后面30个0,还有21000。最后,就是一个比全宇宙原子数还大的数字。这样,如图10-3a所示那样的图示就没用了。处理这样的系统就需要特殊工具和适当的软件。
自动机的建模、控制综合和检查理论已经发展成熟了。有很多计算机工具可以为这些理论的实现服务。这些设计工具可以处理的巨大复杂度凸显了控制技术中的巨大进步。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。