Modbus协议在智能家居中的应用
2011-09-20西安建筑科技大学建筑设计研究院邵先来
文|西安建筑科技大学建筑设计研究院 邵先来 鲁 娟
1 序言
随着计算机网络技术的快速发展和Internet的普及,居民生活水平不断提高,人们对住宅及住宅小区提出了更高的要求。智能化住宅及小区的出现恰好满足了人们的这些要求。
电子技术和计算机技术的迅速发展为实现智能家居提供了技术支持。智能家居系统在计算机技术、网络技术、通信技术以及多媒体技术的支持下,通过现场总线与各种类型的模块相连接,根据需要向各种类型的模块发出指令,综合实现家庭通信网络系统、家庭设备自动化系统、家庭安全防范系统等的各项功能,为住户提供安全、舒适、方便和信息交流畅通的生活环境,使人们可以通过远程操作了解家居情况、控制家居设备,使家居环境更加人性化、智能化。
本文主要介绍一种基于现场总线技术和Modbus协议的,对软硬件智能家居的控制的设计。
2 基于Modbus技术的智能家居的概述
智能家居系统又称智能家庭局域网,是一种与现代化家庭生活相适应的,形式多样的网络结构。智能住宅(也称为智能家居)的概念首先是由美国和欧洲、东南亚等地的经济比较发达的国家提出来的,其目标是利用家庭总线技术将家庭中各种与信息相关的通信设备、家用电器和家庭保安设施连接到一个家庭智能化系统上进行集中的或异地的监视、控制和家庭事务性管理,并保持这些家庭设施与住宅环境的和谐与协调。智能家居系统可以实现家庭内部网络和外部小区网络的集成,集成方式通常是以家庭网关作为数据互通的桥梁。其控制方式有本地集中控制和远程异地控制两种。
2.1 Modbus协议
在工业控制领域中,Modbus协议是一种应用于控制器上的通用语言。典型的Modbus协议包括Modbus RTU、Modbus ASCII、Modbus Plus和 Modbus/TCP等,其中Modbus/RTU应用最为广泛。Modbus RTU一般使用RS232、RS422、RS485等实现串行数据通信,可以方便可靠地构成工业数据通信网络。目前,国内外众多PLC、DCS、智能仪表等都支持Modbus RTU协议作为它们之间的通信标准。Modbus协议规定网络中只允许存在一个主站(Master),其他设备均为从站(Slave)。在物理层采用异步串行通信方式时,该协议有两种传输模式,即RTU模式和ASCII模式。
(1)ASCII模式
当控制器设为在ModBus网络上以ASCII模式通信时,消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是可将发送字符的时间间隔缩短至1秒而不产生错误。
如表1所示,使用ASCII模式,消息以冒号字符(ASCII码3AH)作为起始位,以回车换行符(ASCII码0DH、0AH)作为结束符。传输过程中,网络上的设备不断侦测冒号字符;当接收到一个冒号字符时,各设备就解码下个位的地址域,来判断该消息是否是发给自己的;地址与之一致的设备继续接收其他域,直至接收到回车换行符。除起始位和结束符外,其他域可以使用的传输字符是十六进制的0~9和A~F(当然也要用ASCII码表示)。当选用ASCII模式时,消息帧使用LRC(纵向冗长检测)进行错误检测。
表1 ASCII模式的消息帧表
表2 RTU模式的消息帧表
(2)RTU模式
当控制器设为RTU模式时,消息帧中的每个8Bit字节包含两个4Bit的十六进制字符。
在RTU模式下,消息发送至少要在3.5个字符时间的停顿间隔后方能开始。传输过程中,网络设备不断侦测网络总线,包括停顿间隔时间内。当接收到第一个域(地址域)时,相应的设备就对接下来的传输字符进行解码,一旦有至少3.5个字符时间的停顿就表示该消息结束。在该模式下,整个消息帧必须作为连续的流传输,如果在帧完成之前有超过1.5个字符时间的停顿,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域;同样的,如果一个新消息在间隔小于3.5个字符时间前接着前一个消息开始,接收设备将认为它是前一消息的延续。如果在传输过程中有以上两种情况发生,必然会导致CRC校验产生一个错误消息,反馈给发送方设备。
相对于ASCII模式,RTU模式表达相同的信息需要的位数较少,且在相同通信速率下具有更大的数据流量,可传送比ASCII模式更多的数据,因此本文选用RTU模式的Modbus协议。
2.2 DDC控制器
DDC(Direct Digital Control)即直接数字控制,是以微处理器为基础,不借助模拟仪表而将系统中的传感器或变送器的输出信号直接输入至微型计算机中,经微机预先编制的程序计算处理后直接驱动执行器的控制方式;这种计算机称为直接数字控制器,简称DDC控制器。DDC控制器的CPU运行速度很快,并且所配置的输入输出端口(I/O)一般较多,因此可以同时控制多个回路,相当于多个模拟控制器。
DDC控制系统利用微信号处理器来实现各种逻辑控制功能,主要采用电子驱动,但也可用传感器连接气动机构来驱动。DDC系统的最大特点就是从参数的采集、传输到控制等各个环节均采用数字控制功能来实现,一个数字控制器可实现多个常规仪表控制器的功能,可有多个不同对象的控制环路。
DDC系统所有的控制逻辑均由微信号处理器,以及各控制器为基础完成。各控制器接收传感器、常用融点或其他仪器传送来的输入信号,并根据软件程序处理这些信号,再输出信号给外部设备——这些信号可用于启动或关闭机器,或按程序执行复杂的动作。这些控制器还可支持手动操作中央机器系统或终端系统。
DDC控制器是整个控制系统的核心,是系统实现控制功能的关键部件。其工作过程是:通过模拟量输入通道(AI)和开关量输入通道(DI)采集实时数据,并将模拟量信号转变成计算机可接受的数字信号(A/D转换),然后按照一定的控制规律进行运算,最后发出控制信号,并通过模拟量(进行D/A转换,将数字量信号转变成模拟量信号)输出通道(AO)和开关量输出通道(DO)直接控制设备的运行。
3 DDC在智能家居中的调节对象
DDC信号的输入输出可按能否直接被微机或执行器接受而分为数字量输入、输出(DI/DO)和模拟量输入、输出(AI/AO)。模拟量信号所对应的是一定量的电压或电流值,与传感器输出信号的特征有关。一般情况下,智能家居中常见模拟量输入来源有电表、水表、煤气表等,数字量的输入来源有门禁、火警、空调、电视、照明系统等。如图1所示。
4 系统总体设计
图1 智能家居中的设备控制对象
在上位监控机中使用高级语言进行编程的技术已经发展得相当成熟。本文所设计系统的远程监控上位机应用程序的开发中采用亚控科技软件结合数据库联接技术,以及RS485技术。这些技术的应用使得应用程序界面能够以友好的方式面向使用者,同时也也为系统的扩展和升级预留了足够的空间。系统通过扩展RS485端口联结多路现场总线,由数据采集和控制主线程向每一路现场总线派生一个端口访问线程,执行该现场总线上所有设备的数据采集和控制命令;利用Windows NT的线程和异步I/O机制,保证每路现场总线都能独立全速工作,从而使吞吐量达到最大,极大地提高了系统的效率。同时,由单一线程协调单一现场总线的数据采集和控制,也避免了对串口的竟用。
操作界面的总体设计如图2所示。
在总体窗口界面可选择要进行下一步操作的界面;现场信息显示界面,主要用于电表、水表以及煤气表的其他状态参数的现场显示,可方便从直观上了解现场环境信息的实际情况;通过信息文本显示界面可以了解更多的其他数据情况;通过报警系统设置界面,可以把火警和煤气泄露等系统中的状态量数据量等用短信、电话或者通过网络发送给业主或者物业管理员;登录界面则用于不同级别用户登录进行不同级别操作。数据库管理部分的主要功能是数据的表格显示、数据管理操作的支持等。
图2 总体设计框图
5 结束语
应用基于现场总线和Modbus技术的智能家居系统,不仅可以通过PC机自动抄读水、电、煤气表的读数,节约人力成本,而且提高了抄表的准确性;可实现对室内安装的煤气泄漏、火警、门磁或窗磁等安防设施的实时监控,确保防火、防盗;用户可随时查询使用情况并及时缴费,还可以远程遥控家中的电器,如在回家路上提前开启空调、电视机等。建设基于现场总线和Modbus技术的智能家居系统是实现小区住宅智能化的潮流选择,是家庭控制网络发展的方向。
1 黎连业,朱卫东,李皓,等.智能楼宇控制系统的设计与实施技术.北京:清华大学出版社,2008.
2 Kinnaird C.Equalization enhances RS485 links.2004.
3 刘国林.建筑物自动化系统[M].北京:机械工业出版社,2002.
4 阳宪惠.网络化控制系统——现场总线技术.北京:清华大学出版社,2009.