远程控制系统的制作方法

文档序号:6276889阅读:436来源:国知局
专利名称:远程控制系统的制作方法
技术领域
本发明涉及远程控制系统,该系统由一个中心控制器(主)和多个能够接收控制器指令的远程模块(从)组成。
这类系统可以应用于大型建筑物的照明,供暖或换气控制。在这样的系统中,控制器可以向建筑物中所有的远程模块发出状态查询指令并从这些模块接收系统状态数据。例如一盏灯是开是关,控制器可以随之向特定的模块发出指令,控制该模块以所需方式所连接的装置(例如灯)。
在现有的典型远程控制系统中,所有的模块都与一个能够传输指令的总线相连,每个模块都被赋予一个唯一的地址,而每条发给模块的指令也都含有这样一个用以确定指令对象的地址,因此,在安装这样的系统时,最好预先给每个模块进行预编程,使它具有唯一的地址,并需对每个模块的安装位置有所了解。
在另一种形式的远程控制系统中,所有模块都连接在一个环上,令牌由一个模块传到另一个模块。当令牌阻塞在一个模块时,控制器会向该模块发出状态查询指令并接收从控制器返回的状态数据。若该模块的状态需要改变,控制器会向其发出指令。
在本发明的一个最佳实施方式中,所有的模块都与控制器串联,数据包,包括给模块的指令,在各模块间顺序传送,数据包部分中含有一个模块计数器,每当数据包通过一个模块时,模块计数器的数值增加。通过分析模块计数器的状态,可以推算出一个模块在整个回路中所处的位置,从而确定数据包中的指令是否是发给该模块的。
现在可以参看后面所附权利要求书中对本发明的定义。
下面将举例并参考以下附图对本发明的一个最佳实施方式进行详细描述

图1是控制器及其相连的远程控制模块的示意图;图2是图1中所用模块类型的方框图。
图1显示了多个远程模块2如何与一个控制器4串联成一个回路。控制器和每个模块都具有一个串行输入端和一个串行输出端。控制器生成的数据包从它的串行输出端传送到回路中第一个模块的串行输入端。数据以每次一个字节的速度通过模块,传送到模块的输出端。当然,输入端和输出端数据有迟延,例如3个比特。这样,一个数据包的前端会在它的末端进入模块之前已经离开。数据包通过回路中所有的模块后会回到控制器4。
数据包的前端通过整个模块回路所用的时间为(模块迟延)×(模块数)。例如以9600波特速率和3比特模块延迟,一个数据包的前端通过整个回路需要大约18毫从控制器发出的数据包(又称记录本)有三个主要组成部分“指令部分”、“模块计数器”和“地址及数据部分”。整个数据包的结尾由结束码标志。
当数据包到达回路中的第一个模块时,模块计数器的数值增加。若指令所指定的模块号码正是模块计数器的当前数值,指令部分便被解码并执行。指令可以是一条命令,例如打开一盏或多盏灯(如打开所有位于模块1和模块8之间的灯)。另外,指令也可以是对模块的状态查询,如将所有发生了状态变化的模块的状态信息写到数据包的地址及数据部分,这样,当数据包在整个回路中传送时,它的地址及数据部分会不断加大,因为不断有更多的信息写入。
图2是一个模块的方框图,参考这张图可以更好地解释模块的操作过程,模块包含一个输入端6,可以接收控制器生成的并已通过回路中前面的模块传来的数据包,数据包首先被传给分发器,分发器将其中的模块计数数据传给计数加数器8,将数据包的指令部分传给指令解码器10,将地址及数据部分传给状态解码器12。
计数加数器8有输出端连到指令解码器10和状态解码器12,因此,指令解码器和状态解码器都能获得模块计数器的当前数值。
指令解码器10会将数据包的指令部分解码,在一个照明控制系统中,一条指令可以是打开一盏灯,而数据包的地址及数据部分的数据部分则包含需要打开哪些灯的信息。这样,通过比较需要打开的灯的地址和当前模块的地址,指令解码器可以计算出该模块是否应该执行这条指令。如果应该执行这条指令,相应的指令会被传送到控制单元14并在那里被执行。
如果是一条状态查询指令,指令解码器便会向状态解码器12发出使能信号,状态解码器便从控制单元接收状态数据。状态解码器还同时接收当前模块计数数值及数据包的地址及数据部分。状态解码器会将当前模块的地址及该模块所控制的装置的状态写到数据包的地址及数据部分中。一般,只有自上次查询以来状态发生了变化时才这样做,这样,当数据包在回路中传送时,其地址及数据部分会不断增大。
组合器16会将模块计数器的当前数值,指令部分和地址及数据部分重新组合,然后通过输出端18传给回路中的下一个模块。
每个模块可以用单个芯片上的常规门矩阵来实现,若需要更加智能化,可以使用微处理器。
从以上描述可知,实际应用中,每个模块能够根据它在回路中的位置计算出它的地址(模块计数器的数值)。例如回路中的数据含有一个模块计数器,模块可以通过它推算出自己的地址。因此,无需给模块预先编入一个唯一的地址。当模块被安装在一个建筑管理系统中时,如照明控制系统,可以将同样的模块安装在照明系统的各个位置。
在当前的系统中,一个开关状态数据包的长度为10个字节,它在回路中以9600波特的速率和每个模块3比特的延迟进行传输,该数据包含有一个还原顺序表,数据包头,模块计数器和作为差错校验的每个字节的反转字节。
当这样一个数据包通过一个模块时,若需将该模块的开关状态写入到数据包的尾部,首先要将数据包的结束字节改为继续字节,然后写入状态信息的模块号码字节和一个新的结束字节,这就意味着,状态发生了变化的每个模块需要增加3个字节及其反转字节。
在一个有60个模块的回路中,若有两个模块的状态发生了变化,则需要给数据包加12个字节,从而使它的长度变为22个字节。这样,若每个模块具有3比特的延迟,则数据包通过整个回路的时间为18+22=40毫秒(此为一个约数)。
当控制器接收到传回来的数据包后,它会生成一个开关控制数据包用以控制灯的开关,这个开关控制数据包的长度为10个字节,另外每个需要寻址的模块需加4个字节。如果有6个模块所控制的灯需要开或关,则需要一个长度为34个字节的数据包,该数据包传过整个回路大约需要34毫秒,这样,从按下一个按钮到一盏灯被点亮大约总共需要75毫秒。在实际应用中,为减少开关的噪音,需要加长延迟时间。
若系统不忙,当收到状态数据包并确定了一个或几个模块的状态需要改变后,控制器可以发出一个命令数据包,命令各个模块改变其状态。这样做10次或20次,系统仍然能够在200毫秒内迅速地进行响应。利用这种方法可以检验系统对状态的接收。
前面描述的系统是自编地址的,即无需给每个模块预先编入唯一的地址。每个模块都能根据数据包模块计数器的数值确定它自身在环路中的位置,从而推知地址。
权利要求
1.远程控制系统,包括一个控制器和与之串联的多个远程模块,其中数据包是由控制器生成的并包括一个模块计数器部分,数据包从一个模块传送到另一个模块,每个模块包括用于在将数据包传到下一模块之前增加模块计数器部分数值的装置,每个模块还包括用于从模块当前计数器部分的数值推算模块地址的装置。
2.根据权利要求1的远程控制系统,其中每个模块包括用于在将数据包传送到下一模块之前将该模块的状态数据加到数据包的装置,其中状态数据包括导出的模块地址。
3.根据权利要求1或2的远程控制系统,其中每个模块包括用于对数据包中收到的指令进行解码的装置和用于根据对数据包所含的模块地址与由模块导出的模块地址之间的比较而执行指令的装置。
4.在远程控制系统中使用的模块,包括用于接收数据包的输入装置和用于发送数据包的输出装置,其中每个数据包包括一个模块计数器部分,该模块包括用于当通过模块时增加模块计数器值的装置和用于在模块中从模块计数器的值导出模块地址的装置。
5.在远程控制系统中使用的模块,基本上如这里所述。
全文摘要
远程控制系统由一个控制器(4)和与之串联的多个远程模块(2)组成。数据包是由控制器生成的并包括一个模块计数部分。数据包从一个模块传到另一个模块。每个模块都先增加模块计数部分的数值。再将数据包传给下一个模块。模块的地址可以从该模块当前的模块计数部分的数值推算出来。
文档编号G05B19/05GK1124527SQ94192248
公开日1996年6月12日 申请日期1994年5月20日 优先权日1993年5月26日
发明者爱德华·威廉姆斯 申请人:德尔马迪克有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1