当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于VxWorks的微机保护装置网络通信设计

摘要:针对微机保护系统对采样数据传输的实时性需要,给出了一种基于VxWorks嵌入式实时操作系统的微机保护系统网络通信实现方案。该方案利用VxWorks的灵活通信机制,并通过建立基于双缓冲消息队列的客户端/服务器通信模型来提高系统的实时性和可靠性。
关键词:VxWorks;微机保护;网络通信;客户端/服务器

0 引言
    随着科学技术的不断发展,人们对网络进程间通信的性能要求也越来越高,传统的网络通信方式已经不能满足需要。目前,越来越多的嵌入式设备都可以通过各种形式接入到网络,以实现与网络上其他各类型的主机互联。这在很大程度上得益于TCP/IP协议在嵌入式领域中的应用。本文选用VxWorks实时操作系统,并利用VxWorks对TCP/IP协议、多任务以及BSD Socket的良好支持,给出了一种可方便地实现网络通信的方法。

1 VxWorks网络协议
    VxWorks通常使用以太网作为最底层传输媒介。而在传输媒介的上一层,VxWorks则用TCP/IP协议来用于VxWorks进程与其它主机环境进程之间的传输数据。用户程序需要的就是在TCP/IP层之上进行通信。因此,利用VxWorks对多任务和Socket的良好支持,可以方便的实现网络通信。
    TCP/IP是VxWorks提供的网络间进程通信的主要机制,它主要包括三个协议:Internet协议、IP协议和传输层协议。其中Internet协议是处于TCP和UDP之上的一组协议专门开发的应用程序,包括telnet、文件传输协议(FTP)等。IP层也称网络层,它包括Internet协议(IP)、网际控制报文协议(ICMP)和地址识别协议(ARP);其中IP协议是TCP/IP协议族的基础,该协议被设计成互联分组交换通信网,现已形成了一个网际通信环境,它负责在源主机和目的地主机之间传输来自其较高层软件的(称为数据报文的)数据块,它在源和目的地之间可提供非连接型传递服务;而传输层协议包括传输控制协议,主要有面向连接的TCP和无连接数据报UDP两种协议。
    VxWorks网络协议是一个基于开放系统的互连(OSI)模型,而且系统为了向高层协议层提供一个统一的、规范的、方便协议移植的网络接口,在高层IP层之下添加了一个MUX层,由MUX层负责与网络底层驱动的交互。这样做可以使用户在设计协议中不必关心网络底层的数据传递,而在设计网络驱动程序时也不必关心协议栈的结构,因而大大方便了对其进行的开发。VxWorks网络协议的结构如图1所示。

[!--empirenews.page--]

2 基于双缓冲队列的网络通信设计
    网络通信的基石是套接字,一个套接字是通信的一端,在这一端上可以找到与其对应的一个名字。一个正在被使用的套接字都有它的类型和其相关的任务,VxWorks可以实现与BSD4.4TCP/IP兼容的Socket编程接口。由于面向连接的服务器使用的传输层协议可保证数据传送的可靠性和顺序性,因此,本文的系统端采用基于流Socket的客户机/服务器(Client/Server)编程模式,其程序可以分为客户端程序和服务端程序。其通信模型如图2所示。
2.1 客户端程序设计
    所谓客户端服务程序,就是主要用来发出服务请求的程序。客户端程序设计要知道服务端的地址、服务所提供的端口号及服务使用的传输层协议(TCP协议)。在客户/服务器模式中,客户端程序可以通过两种形式找到服务器:一是通过指定服务器的IP地址和端口号来找到服务端;二是通过广播的形式来来寻找服务器。本系统的客户端程序应用第一种形式来寻找服务器。知道了服务端的位置后,客户端任务就可以打开一个套接字,然后通过连接服务器来发送和接收数据。
    面向连接的TCP客户端编程结构分为部分:一是以TCP连接服务器,TCP协议是一种可保证传输可靠,且能保护顺序的传输层协议。在连接服务器之前,先要申请一个SOCK_STREAM类型的套接字,该套接字的通信域应制定为PF_INET类型;二是使用TCP与服务器通信,因为TCP是面向连接的协议,在连接建立以后,它可以通过send、recv等调用来进行通信,就像管道一样;三是关闭TCP连接,即在客户端程序结束,或使用完一个套接字后,可以使用close来关闭一个套接字。
2.2 服务端程序设计
    在服务端程序设计中,可以根据对要实现的网络服务功能来设计自己的应用层协议。本系统服务端使用的TCP是面向连接的服务端。在这种模式下,服务端程序的设计就可以不考虑数据的可靠传送,而只要接受连接请求,并通过该连接进行通信即可,这样,底层的传输协议就自然会保证数据传送的可靠性。
    服务端程序设计的两种基本模式是循环模式和并发模式。循环模式就是服务端进程在总体机构上是一个循环,一次处理一个请求。并发模式的服务端进程一般可以同时处理多个请求,结构上一般采用父进程接受请求,然后产生子进程,这样一般为多进程结构。
    本文选用面向连接服务端的循环模式,此模式的建立步骤如下:
    (1)创建一个SOCK_STREAM类型的套接字;
    (2)调用bind指定地址和端口;
    (3)调用listen未处理连接请求的队列长度;
    (4)调用accept等待连接请求,一旦有连接请求,accept返回一个新的套接字描述符;
    (5)通过新的描述符与客户端交互信息,交互完毕,即关闭新产生的套接字并返回第四步。

3 微机保护系统网络通信模型设计
    系统中基于Socket模式下的通信过程分为控制端发起的通信过程和受控端发起的通信过程,这两种过程都是基于客户/服务器的网络编程模式。在客户/服务器模式中,请求的一方称为客户,提供服务的一方称为服务器。
    本设计采用嵌入式计算机结合数据采集板的方式,并由VxWorks实时操作系统为嵌入式计算机提供底层软件平台的支持。嵌入式计算机连接数据采集板,并控制数据的采集过程,以(以牵引供电系统馈线保护为例)在工频周期下,从TV、TA侧采集共2路电压、电流信号,每周波采样24个数据点,采样周期为833μs。在该保护系统中,嵌入式系统端为客户端,并采用VxWorks基于Socket客户机编程模式,主要负责发布命令,监控命令的执行状况,其主要工作是数据的采集和存储;服务器端为微机保护运行所在的PC机,负责执行命令并返回命令执行的结果,主要工作是为采集数据的微机提供算法处理保护以及保护启动判断。本系统只需要在服务器启动后,就可以进入等待状态,所有其他的动作都可以等待和客户端建立连接后,由人机界面来控制。其系统网络通信流程如图3所示。


    在网络通信时,首先由服务器端创建一个侦听用套接字(socket),然后与服务器的本地地址相绑定(bind),接着进入侦听模式(listen )。客户端开始时,同样也需要创建一个套接字(socket),不同的是,这个套接字只用于通信,然后连接服务器端(connect);服务器端用于侦听的套接字接受(accept)这个来自客户端的连接,然后建立新的通信用套接字,并利用新建的通信套接字与客户端进行通信;服务器端和客户端从各自的通信套接字传送和接收数据(send/recv),通信结束后,再关闭相关的通信套接字(close)。
    基于这种网络通信模式可实现上述供电系统电压、电流信号数据采集模块与VxWorks系统平台间的数据传输及网络通信。

4 结束语
    利用本系统可将VxWorks嵌入式实时操作系统接受的采样数据通过网络通信发送到保护任务所在的PC机上。这种方法有利于采样数据的存储和后续的数据处理,并可保证采样数据的实时性和传送的安全性。相对于传统的前后台微机保护装置,采用VxWorks嵌入式实时操作系统的微机保护装置能有效的提高系统的实时性和可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Socket通信系统是一种基于网络通信协议的应用程序接口,它提供了在网络上进行通信的接口,允许不同计算机之间建立连接并交换数据。

关键字: SOCKET通信 网络通信

各类网络通信技术给人类带来了许多便利和改变,人们可以通过互联网、手机等网络通信技术快速获取和传播各种信息,包括新闻、娱乐、教育、科技等方面的信息,这使得信息获取和传播变得更加便捷和高效。网络通信技术使得远程办公和在线学习...

关键字: 网络通信 Wi-Fi

VxWorks是一款广泛应用于嵌入式系统的实时操作系统(RTOS)。作为实时操作系统领域的领导者,VxWorks以其强大的功能和可靠性,在多个行业领域得到了广泛应用。本文将向读者简要介绍VxWorks系统,包括其定义、特...

关键字: VxWorks 操作系统 嵌入式

(全球TMT2023年8月21日讯)近日,2023中国算力(基础设施)大会、第二届“西部数谷”算力产业大会在宁夏银川开幕,软通动力受邀出席本次大会。大会举办期间,软通动力与中国联合网络通信有限公司宁夏回族自治区分公司达...

关键字: 联通 网络通信 云服务 MT

市场竞争里有一条残酷法则,即“劣势决定优势,劣势决定生死”,这就是常说的“木桶效应”,该效应敦促企业领导要具备忧患意识,要迅速找出短板,要及时弥补不足,避免因明显的缺陷而面临毁灭性的损失。

关键字: 物联网 木桶效应 网络通信

用于写入密集型的工业和网络通信存储应用的全新 3D pSLC SSD

关键字: Swissbit 网络通信 SSD

以下内容中,小编将对路由器的相关内容进行着重介绍和阐述,希望本文能帮您增进对路由器的了解,和小编一起来看看吧。

关键字: 路由器 漏洞 网络通信

1969年,美国数字设备公司研制出了第一台可编程逻辑控制器--PDP14。并在美国通用汽车公司的生产线上试用成功,取代生产线上的继电器控制系统,开创了工业控制的新纪元。

关键字: 微处理器 网络通信

摘 要:机电通信系统是高速公路建设最为重要的部分之一,是现代网络通信技术在公路运行管理中实际应用的体现, 可有效提升高速公路运营管理效率。当前我国高速公路建设应更多地关注机电通信系统的重要作用。文中主要通过阐述高速公路通...

关键字: 高速公路 机电通信 新技术 网络通信

自己目前开发的嵌入式开发所用的操作系统是VxWorks,以前读大学的时候用的最多的是linux操作系统,但是,对于这两种操作系统之间到底有什么区别,还真没有真正去细心的总结过,被别人问起时,难免有些尴尬的感觉,毕竟自己是...

关键字: VxWorks Linux
关闭
关闭