基于嵌入式技术楼宇智能化控制系统*摘要:为了解决智能楼宇控制点种类和数量多的问题,设计了基于嵌入式技术的智能楼宇控制系统,系统采用MODBUS通讯协议,485/232总线结构,最大通讯距离达1200m,通过区域控制器与控制模块数目自由组合组成控制网络的方法成功解决这个问题,效果良好。关键词:智能楼宇 MODBUS协议 485/232总线 区域控制器0 引 言智能楼宇最早出现在美国,我国的智能楼宇起源于20世纪90年代,楼宇智能化是现代工业高科技的结晶,是未来“信息高速公路”的主节点,是进入“数字时代”新兴的产物。所谓楼宇自动化系统是对中央空调系统、通风系统、给排水系统、照明系统、变配电系统、电梯系统进行监控。随着高新信息技术和计算机网络技术的高速发展,对建筑物的结构、系统、服务及管理的最优化组合的要求越来越高[4]。系统控制的方式由过去的中央集中监控,转而由高处理能力的现场控制器所取代的集散控制系统,本文设计的楼宇自动化智能控制系统是专门为楼宇智能化所设计,同霍尼韦尔、西门子等楼宇控制产品相比结构灵活,控制简便,并且易于针对个体需求进行软件的二次开发。1 网络结构控制系统结构如图1所示,分为三个控制层。上层为PC远程集中监控,下层为控制模块,中间层为现场区域控制器。层与层之间通过RS232/485总线联网。远程集中监控平台主要功能为提供即时的数据显示、历史数据的保存维护和查询显示、故障报警和故障历史查询、参数修改和查询。PC远程监控平台为主要人机界面,所以上位机软件设计体现了如下三个优点:一是将控制网络WEB化,可以将不同来源、不同格式的信息转变为统一的格式,供具有统一界面的客户机浏览器浏览,以更好地适应信息化社会的使用需要;二是建立了基于SQL SERV-ER数据库的管理信息系统,提高了信息管理的功能;三是采用开放式设计的网络结构,可以更方便地与其他系统(如安保系统、消防系统)进行集成。软件基于delphi平台开发,加载大量图形操作,简单方便。控制模块包括四种,即数字量输入模块(Digital In-put)、数字量输出模块(DigitalOutput)、模拟量输入模块(Analog Input)、模拟量输出模块(AnalogOutput)。控制模块是控制系统的主要执行机构,即采集数字量信号和模拟量信号,也输出数字量信号和模拟量信号。因此每种模块各自拥有单独的控制芯片,既接受现场区域控制器的控制命令,又需要根据控制命令完成模块的输入输出功能。中间层现场区域控制器既与PC远程监控平台进行通讯,接受控制命令并上传实时数据,又通过控制模块采集数据、执行控制命令。显然,现场区域控制器是整个控制系统的核心枢纽,其重要性不言而喻,因此整个区域控制器的软硬件设计无疑成为整个系统的重点和难点。2 区域控制器2.1硬件电路区域控制器硬件电路主要由CPU、上下位机通讯接口、EEPROM和时钟、键盘和触摸屏、液晶以及数字量/模拟量输入输出单元组成。硬件结构如图2所示。区域控制器CPU选用STC89C516RD2,这是一款新一代抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机[1-3]。区域控制器自身带有一定数目的数字量/模拟量输入输出单元,可以在智能楼宇控制系统中作为控制模块的补充,同时也可以使区域控制器单独作为产品配套控制器使用,灵活多变。时钟和EEPROM通过I2C总线与区域控制器CPU连接。I2C总线用两条线(SDA和SCL)在芯片和模块间传递信息。SDA为串行数据线, SCL为串行时钟线,这两条线必须用一个上拉电阻与正电源相连,其数据只有在总线不忙时才可传送。CPU是主设备,时钟和EEPROM是从设备[9]。上位机通讯接口由控制器CPU通过SPI总线访问异步通讯芯片MAX3100来实现。SPI总线采用三线同步接口。主要特点是可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等;下位机通讯接口以串行口中断的方式实现半双工通讯。为了满足多种输入方式,控制器同时带有键盘和触摸屏,即可以以按键方式键入控制命令,也可以直接点击触摸屏实现。键盘采用独立式键盘;触摸屏选用电阻式触摸屏,电阻式触摸屏屏幕主要由两个导电层组成,当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后由触摸屏控制器侦测到这一接触点并计算出(X,Y)的位置。2.2软件流程智能楼宇控制系统所控制的点位种类多样,如温度、湿度、流量、开关等。硬件电路依据数字量、模拟量以及输入、输出提供了通用的接口,因此具体识别控制每个点位则完全由软件完成。现场区域控制器作为整个系统的控制核心,既要检测自身输入输出单元,完成显示,报警等功能,又要根据上位机(PC)、控制模块提供信息发出控制决策。因此软件流程包括初始化、故障检测与处理、控制算法实现、上下位机通讯等(图3),初始化包括数值初始化、中断初始化,通讯初始化,显示初始化;故障检测包括通讯故障,反馈故障,逻辑故障等;控制部分主要是程序算法的实现,对输入输出的智能控制,包括键盘/触摸屏输入及液晶输出,上位机通讯即远程PC与区域控制器通讯,而下位机通讯则是区域控制器与控制模块之间通讯[5-6]。楼宇自动化控制系统故障种类多样,故障处理方法又各有不同,因此故障的检测和处理就成为程序设计的一个难点,针对这种情况,程序采用了查表法(表1),成功的解决了这一难题。楼宇自动化控制系统故障种类多样,故障处理方法又各有不同,因此故障的检测和处理就成为程序设计的一个难点,针对这种情况,程序采用了查表法(表1),成功的解决了这一难题。表中分5列,第一列为故障号;第二列为故障处理方法,如1(停机),2(关机), 3(重启)···;第三列判断是否联动,如0(否), 1(是),主要判断一些相互有关联的部分出现故障是否需要同步处理;第四列所谓的报警延时主要指某一现象视为故障的重复出现时间,目的是为了消除抖动引起的误报;第五列延迟寄存器则存放报警延时,如1(0.1秒级延时寄存器), 2(秒级延时), 3(分级延时)。每条故障都要对应于表中的一条,实际应用中只需填写表格,快捷方便。上下位机通讯程序都采用MODBUS通讯协议[7-8],Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。此系统中当主设备为上位PC机时,现场区域控制器为从设备,当现场区域控制器为主设备时,控制模块为从设备。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由Mod-bus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。例如:当主设备(现场区域控制器)发送如表2请求时,此控制器连接的所有控制模块都接受这请求,但是只有地址为1的控制模块对此请求应答,其他地址的控制模块自动丢弃这帧数据,经CRC检验数据正确后,根据功能码来处理此帧数据,此例中功能码为06,即向此寄存器地址写寄存器数据,完成后从设备需回应与主机请求相同的信息。置区域控制器和各种控制模块数量,结构灵活多变,可以适应多种输入输出信号,根据用户的实际需求开发控制软件,真正达到量身定做成为一大特色。本智能控制系统已经在多个楼宇智能化控制中使用,控制准确,运行稳定;另外,区域控制器也可单独使用,作为产品配套控制器,成功应用于除湿机、冷干机、Vocs气体清除装置等。参考文献1于洪洲·51系列单片机软件抗干扰设计[J]·集成电路通讯·2007,25卷,2期:16-182汪文,陈林·单片机原理及应用[M]·华中科技大学出版社3Yu ShouqianWang Jianhua Kou Jinqiao. Embedded Integrated Servo-controllers for IntelligentModularActuators[J]·HIGH TECHNOLOGYLETTERS.2006,12,1:37-41.4 B. Surrogate·Developmentofan IntelligentEnergyManagementNetworkforBuilding Automation, PROGRAMMABLE CONTROLLER FAC-TORY AUTOMATION(PLC FA)·2005,3:28-305黄鑫,宋洋·软件抗干扰技术及其在单片机上的应用·现代电子技术,2007年9期:90-926朱国飞·单片机在工业控制上的应用[J]·中国科技信息, 2005年18A期:77-797田拥军,赵光强,曾健平·基于RS485总线技术的PC机与单片机多机通讯设计[J]·湖南工程学院学报:自然科学版, 2007年17卷2期:19-238肖凯,张贤斌·Modbus协议在串口通讯中的研究及应用[J]·长江工程职业技术学院学报,2007年1期:30-329赵学军·RS485总线测控模块的MODBUS扩展协议设计[J]·自动化与仪表,2007年2期:37-40