低压电力线载波通信系统设计
扫描二维码
随时随地手机看文章
引言
现代社会的发展,人们对生产和生活有了更多、更高的 要求,例如要求更节能环保、更舒适便捷,这些要求的实现 都需要大量信息的获取、传输和处理,需要把与生产生活相 关的大量设备和对象连接起来,构成网络,以实现对它们的 监测控制与管理,从而形成物联网、家域网(HAN)等。在 这些网络中,需要连接的对象数量众多,位置可能变动,给 网络的构成带来一定的困难。由于这些对象的工作大都离不 开电力,所以,用低压电力线组成网络进行通信,是一种很 有价值的实现方法。因为利用低压电力线进行数据传输,不 需要重新布线,覆盖范围广,维护少,节约资源。为此,本 文结合国内外研究动态,对低压电力线载波通信技术进行了 研究,并采用相关功能模块,编写了相关控制软件,实现了 两点之间通过低压电力线载波通信来进行数据传输,并通过 上位机进行监控的目的。
1系统总体结构
本设计主要包括载波通信模块、上位机监控界面及转换接口电路等几个部分。其中,转换接口电路主要负责PLC模 块的TTL电平接口与上位机的串口之间的接口通信。其系统 框图如图1所示。
低压电力线
图1低压电力线载波通信系统框图
在数据信号发送端,上位机发出数据信号给COM 口, 通过接口转换电路把上位机发出的数据信号转换为PLC模块 能够接收并处理的TTL电平信号。然后经过PLC模块将信号 调制成特殊的电力信号,再通过电力线进行传输。
在数据信号接收端,PLC模块将电力线上的信号耦合下 来,并通过滤波、解调转换为原来的TTL电平信号,再经接 口转换电路把信号发送到上位机进行显示。
该系统信息是双向传输的,即PLC模块与转换接口电路 均可以实现双向通信。
2系统硬件选择与设计
2.1低压电力线载波模块
本文选用杭州新实科技有限公司的SENS-01嵌入式电 力线载波通信模块,该模块可提供半双工通信功能,可以在 220 V/110 V、50 Hz/60 Hz电力线上实现局域通信;通信速 率有 600 b/s、1 200 b/s、2 400 b/s、4 800 b/s、9 600 b/s、 19 200 b/s等多种速率;每帧长度小于或等于20 B ;具有TTL 电平接口,可为用户提供透明的数据通道,而且数据传输与用 户协议无关。
2.2接口转换电路选择与设计
本设计选用的是USB接口作为上位机与PLC模块的通 信接口,因为现在的笔记本大多没有RS232接口,而且现在 许多工业现场也采用USB接口作为串口通信,十分灵活便捷。 因此,本文选用FTDI公司生产的FT232RL芯片作为USB与 TTL电平接口的转换芯片,该芯片具有全握手协议及MODEM 接口(CTS、RTS、DTR、DCD、RI),并具有硬件及 Xon/ Xoff流量控制。芯片内置晶振,外围电路简单,驱动能力强。其接口转换电路如图 2 所示。
3 系统软件设计
本文采用 MSCOMM 控件 ( 即 Microsoft CommunicationControl) 进 行串口编 程, 该 控件 是 Microsoft 公司为 简化Windows下串行通信编程而提供的 ActiveX 控件。它提供了一系列标准通信命令的使用接口,因此,利用它能够建立和串口的连接,并能够通过串口连接到其他通信设备 ( 如调制解调器 ) 发出命令、交换数据以及监控和响应串行连接中发生的事件和错误。使用 MSCOMM 控件编写串口程序时,不需要花费时间了解复杂的 API 函数,但它在执行的时候需要调用API 函数。
MSCOMM控件的OnComm事件捕捉并处理这些通信事件。 这种方法的优点是程序响应及时,可靠性高。
3.1系统通信程序设计
本系统数据的发送与接收显示都是通过对上位机编写软 件来实现的。其流程大致为:关闭串口,对串口的波特率进 行选择,然后设置通信参数;打开串口之后,可以选择发送 方式为手动或自动(自动发送周期根据模块的处理速度固定为 2 s),也可以选择是否为十六进制发送(对应的接收端应选择 十六进制显示)。
在监控显示部分,当接收缓冲区有数据时,系统就会触 发OnComm事件,对数据进行读取并在编辑框中显示。修改 波特率时,一般需要关闭串口然后才能调试。其系统程序流 程图如图3所示。
3.2数据发送部分算法
由于在数据发送时,模块每次只能接收20 b以内的数据, 因此,为了使模块能够发送或接收更多的数据,本文采用指针 指向的方法,分段取出所要发送的数据,每段20 b。
其接口转换电路如图2所示。
数据发送首先要获取编辑框内所要发送的数据,然后计算其长度,再判断与20的关系。如果整除 得b的话,就直接发送b次,每次分段读 取,且必须在两次发送之间添加延时程序, 否则,这样处理就没有意义,因为模块的 处理速度慢于发送的速度会造成数据丢失。 当不能整除且得到的余数为a时,要先发送 b次,读取完bX20个字符后,再发送剩余 的a个字符。图4所示是其数据发送程序流 程图。
3.3通信与监视界面
图5所示是本系统中上位机的通信与监 控界面图。从图中可以看出,在通信界面设置好波特率,然后打开串口,在COM6发送窗口输入字符串,
本文采用 MSCOMM 控件(即 Microsoft Communication Control)进行串口编程,该控件是Microsoft公司为简化 Windows下串行通信编程而提供的ActiveX控件。它提供 了一系列标准通信命令的使用接口,因此,利用它能够建立和 串口的连接,并能够通过串口连接到其他通信设备(如调制解 调器)发出命令、交换数据以及监控和响应串行连接中发生的 事件和错误。使用MSCOMM控件编写串口程序时,不需要 花费时间了解复杂的API函数,但它在执行的时候需要调用 API 函数。
MSCOMM控件串行通信处理方式采用事件驱动方式, 然后点击发送(或自动发送),COM5接收显示窗口就会显示 COM6所发送的信息。由图5可知,数据信息的传输量已经突 破了模块自定义的20 B,即能够实现较多信息量的发送与接收。
4结语
电力网络是目前覆盖范围最广的网络,有着巨大的潜在 利用价值。在家居自动化、家用电器控制等方面,PLC技术 有着得天独厚的优势。本文利用低压电力线载波方式实现了 数据在低压电力线上的传输,并能通过上位机实时显示数据。 但是,目前PLC技术仍然存在很多不足,在电力线上干扰严 重时,通信成功率可能还无法保证,通信速率也比较低,因此许多情况下,在事件发生时需要得到通知,这时,就可以利用 还需要更深入的研究。