基于OPNET Simulator的低压电力线载波通信路由算法仿真
2015-01-13陈杰春张亚南闫瑞乾
陈杰春 张亚南 闫瑞乾
(东北电力大学自动化工程学院,吉林 吉林 132012)
低压电力线载波通信(Power Line Carrier Communications,PLCC)技术是一种以低压电力线路为传输媒介,通过载波方式进行信息传输和交换的技术,是一种电力系统特有的通信方式。与其他通信方式相比,低压PLCC技术能够充分利用现有的电力线资源,因此具有良好的开发前景和应用价值。从20世纪90年代初开始,低压PLCC技术就已经应用于自动抄表、电网负载控制及供电管理等方面[1]。
电力网络的阻抗特性、衰减特性和噪声干扰是影响低压PLCC传输质量的主要因素,其中前两者制约信号的传输距离,后者决定数据传输的质量[2]。网络中继技术和组网路由算法是扩展低压PLCC距离的重要手段。现有的低压PLCC路由算法,如基于人工蛛网的路由算法[3]、基于蚁群算法的路由算法[4,5]、分簇路由算法[6]及基于传输矩阵的路由算法等,在理论上都是可行且适合于电力线特性的,但其实际的网络性能尚不明确。在此,笔者基于传输矩阵的路由算法,探讨基于OPNET Simulator软件的低压PLCC路由算法的仿真方法。通过算法仿真,以进一步了解算法的性能和可用性。
基于传输矩阵的路由算法是一种只适用于主从式低压PLCC网络的路由算法。该方法是在主控制器中存放一个定期动态更新的路由表,主控制器根据路由表发送数据到从控制器。从控制器中不存放路由表,它只需根据所接收数据中的地址来决定转发数据或发送反馈信息[7]。
主从式低压PLCC网络结构如图1所示,假定低压电力线上有9个设备:主控制器0和从控制器1~8。
图1 主从式低压PLCC网络结构
初始化过程。首先建立一个9×9的零矩阵,让主控制器0发送广播信号,假设只有从控制器2、3接收到广播并分别反馈含有从控制器地址的应答信号。主控制器0分析应答信息后,将传输矩阵第0行的第2、3列元素分别置1。然后,主控制器0再发送命令让从控制器2发送广播信号(已发送过反馈信号的从控制器不再发送反馈应答信号),假设从控制器2接收到来自从控制器1、5的反馈信号并将其分别反传给主控制器0,主控制器0将传输矩阵的第2行的第1、5列元素置为1。之后主控制器0再发送命令让从控制器3发送广播信号,依此类推,得到如图2所示的传输矩阵,进而可确定如图3所示的网络拓扑结构。
如此,主控制器0便可以根据传输矩阵按照指定路径给从控制器发送消息。如主控制器0要传输数据给从控制器8,首先搜索传输矩阵的第8列,找到第6行元素的值为1;再搜索矩阵的第6列,找到第1行元素的值为1;再搜索矩阵的第1列,找到第2行元素的值为1;再搜索矩阵的第2列,找到第0行元素的值为1。搜索过程结束,确定的传输路径为0→2→1→6→8。
图2 传输矩阵
图3 网络拓扑结构
2 OPNET建模
OPNET Simulator是目前作为网络规划、仿真和分析工具的高端产品,在通信、国防和数据网络领域已被广泛认可和应用。陈磊等使用OPNET Simulator分析了以太网的通信延迟与节点数目、数据帧长度和通信速率之间的关系[8]。OPNET Simulator提供三层建模机制:最底层是进程模型,实现算法协议;中间层为节点模型,反映设备的硬件特性;最上层为网络模型,表现现实网络的拓扑结构[9]。笔者根据OPNET Simulator的三层建模机制,对基于传输矩阵的路由算法进行初始化建模仿真,获得仿真数据并分析网络性能。
2.1 通信协议
在进行三层建模之前,首先要完成数据帧的设计。数据帧(图4)是传输信息的基本单元,由若干字段组成。定义每个字段为8位,分别为源地址、中继地址、目的地址、控制位和数据位。
图4 通信帧结构
其中,中继地址段的大小会根据传输需要的个数而动态改变。
2.2 进程建模
基于传输矩阵的路由算法的进程仿真模型如图5所示,该进程仿真模型由init、idle、snd、rcv、wt_free和end共6个状态组成。
图5 进程仿真模型
init状态完成设备的初始化,包括读取设备的命名、主从状态、设备地址、仿真开始时间、统计量的声明和产生中断命令。idle状态是闲置状态,系统初始化后,若没有事件发生则处于闲置状态。snd状态完成数据包的发送和发包统计量的记录。根据数据包携带的信息和自身的主从状态及地址等参数,rcv状态完成数据包的转发、收包统计记录、销毁、传输矩阵的更新及发包中断等处理。利用CSMA协议,wt_free状态监听信道是否空闲,在发送数据时,若信道空闲则马上发送数据;否则会等待继续监听,等信道空闲后发送。end状态是系统仿真结束后进入的状态,用以显示初始化时间的确切结果。
主控制器流程如图6所示,其中MAX为总线上的设备个数,M[MAX]为广播所记录的数组,当其某一位为1时,就发送命令让该设备广播,等待接收反馈应答信号。在接收到反馈信息时会刷新等待时间重新等待,直到在限定时间内无反馈信号而跳出等待,广播下一个节点设备。N[MAX]记录下一层需广播的节点设备,当其所有数据为0时,初始化过程结束。
从控制器流程如图7所示。在初始化阶段,将从控制器的标志位置0。若接收到反馈应答信号,则将标志位置1,并停止反馈应答信号;若接收到需要广播的信号,就进行和主控制器相同的广播过程,在此不再赘述。
图6 主控制器流程
图7 从控制器流程
2.3 节点建模
节点模型如图8所示(虚线为统计线,用以侦听信道状态),其中每个设备都具有对数据包的接收、转发和发送功能,因此都配有一组收发机(bus_rx、bus_tx)和判断收发、转发的程序处理模块(proc)。收发机模拟硬件接口,控制数据的传输速率,并完成数据的发送和处理。
图8 节点模型
2.4 网络结构建模
网络模型如图9所示,其中主设备和从设备随机相连在总线上。主设备和从设备唯一的区别是主设备对总线进行控制并负责数据包的发送,而从设备负责对数据包进行转发和信息反馈。图9中单位格长度为125m,由程序设定数据的传播距离为250m,即两个单位格的长度。
图9 网络模型
3 仿真结果分析
用所建仿真模型分别进行两组实验。第一组实验在保证20个从设备不变的前提下,将数据传输速率分别设置为600、1 200、1 800、2 400、3 600、4 800bit/s,通过算法仿真分别确定系统的初始化时间(即创建传输矩阵的时间)为16.6、8.3、5.6、4.2、2.8、2.1s。
第二组实验在保持数据传输速率为1 200bit/s的条件下,将从设备数量分别设置为10、20、30、40、50个,通过算法仿真分别确定系统的初始化时间为4.1、8.3、13.1、17.0、21.0s。
由仿真结果看出,数据的传输速率与系统的初始化时间成反函数关系,在设备数量为20个时,初始化时间约为9 600/传输速率。从设备的数量与系统初始化时间成线性函数关系,在传输速率为1 200bit/s时,初始化时间约为0.42倍的从设备数量。
4 结束语
笔者基于传输矩阵的动态路由算法,探讨了基于OPNET Simulator的低压PLCC路由算法的仿真方法。分别给出了协议设计、进程建模、节点建模和网络结构建模的方法,这些方法均具有一般性,可以为其他路由算法的仿真提供借鉴。
[1] 王君红,刘宝,袁若权,等.基于电力载波通讯的远程控制系统设计及应用[J].化工自动化及仪表,2009,36(1): 49~52.
[2] 邢明海,胡静宇,邓海峰.低压电力线载波抄表系统中的通信技术应用[J].化工自动化及仪表,2002,29(1):38~42.
[3] 刘晓胜,张良,周岩,等.低压电力线通信人工蛛网结构的可靠性分析[J].中国电机工程学报,2012,32(28):142~149.
[4] 刘晓胜,周岩,戚佳金.电力线载波通信的自动路由方法研究[J].中国电机工程学报,2006,26(21):76~81.
[5] 刘晓胜,戚佳金,宋其涛,等.基于蚁群算法的低压配电网电力线通信组网方法[J].中国电机工程学报,2008, 28(1):71~76.
[6] 戚佳金,刘晓胜,徐殿国,等.低压电力线通信分簇路由算法及网络重构[J].中国电机工程学报,2008,28(4):65~71.
[7] 俞天白,杨将新,赵玉玺.楼宇控制系统中的电力线载波通信路由算法[J].电网技术,2006,30(9):88~91.
[8] 陈磊,冯冬芹,金建祥,等.以太网在工业应用中的实时能力分析[J].化工自动化及仪表,2003,30(1):44~48.
[9] 陈敏.OPNET网络仿真[M].北京:清华大学出版社,2004.