评职称或毕业的时候,都会遇到论文的烦恼,为此精选了《通讯软件设计论文(精选3篇)》,仅供参考,大家一起来看看吧。摘要:本文基于Modbus通讯协议,使用VB编写上位软件,与西门子CP341-RS422/485模块进行通讯,对PLC中变量进行读取,并存入SQLServer数据库,实现对设备的实时监控。
通讯软件设计论文 篇1:
IPv6网络下的VoIP通信设计
摘 要: 随着我国科技的发展,互联网被应用到我国的各个行业。互联网的应用提高了人民的生活和工作水平,使人民的生活和工作的各个方面都更加的方便快捷。随着互联网的发展,VoIP(IP电话 Voice over IP)得到了广泛的应用。而VoIP技术是基于IPv4来发展的,但是目前IPv4的发展已经不能满足用户对于互联网的要去,因此,IPv6网络代替IPv4应用而生。IPv6网络的应用极大的提高了VoIP通信的发展。本文笔者就IPv6网络下的VoIP通信设计进行研究和探讨。
关键词: IPv6网络;VoIP通信;设计
目前,随着互联网技术的应用和发展,大量的新的技术被应用到当前的人们的生活和工作中。这些新的技术的应用使人们的生活和工作更加的智能化和自动化。而当前IPv6网络的应用提高了VoIP通信的发展,扩展了VoIP通信的地址空间,提高了VoIP通信的安全性,并且IPv6网络下的VoIP通信设计方便了人们的交流,拉近了人与人之间的距离。因此,IPv6网络技术的应用顺应了国际互联网的发展,得到了国内外研究人员的肯定,使国内外大量的研究人员对IPv6网络进行了进一步的研究和发展。
1 IPv6网络的内涵及来由
1.1 IPv6网络的内涵
IPv6(Internet Protocol Version 6)是指互联网工程任务组(Internet Engineering Task Force)设计的互联网协议。而IPv6是现行版本IPv4的下一个版本。相对于IPv4来说,IPv6不仅可以实现人机对话,还能实现事物之间的对话。这样IPv6既能够服务于人类,还能够服务于家用电器、汽车等硬件设备。另外,IPv6不仅使网络地址资源数量的问题得到了解决,还使连入互联网的设备增多。IPv6提高了互联网的安全性,实现了身份认证和隐私权并且能够支持更多的现代化的服务类型,提高了未来互联网技术的发展。
1.2 IPv6网络的来由
目前,国际上运用的IPv4由于地址不足,直接制约了各个国家的互联网的应用和发展。首先,IPv4中的硬件不能够很好的提取、分析和选择信息。其次,IPv4不能很好的利用各个分组间的相关性。最后,IPv4的速度过慢,不能够满足人们对于互联网的要求。而IPv6的产生在很大程度上解决了这些问题。IPv6具有非常大的地址空间,提高了路由信息,降低了路由的压力。IPv6具有很好的扩展性,提高了路由的速度,扩展了IPv4的功能。另外,IPv6提高了互联网的安全性。IPv6中增加了身份认证和密码功能,保护了用户的信息的隐私。
2 VoIP通信的概念及相关协议
2.1VoIP通信的概念
VoIP(Voice over Internet Protocol)就是指将模拟声音讯号数字化,以数据封包的形式在 IP 数据网络上做实时传递。VoIP是一种以IP电话为主,并推出相应的增值业务的技术。VoIP广泛地采用Internet和全球IP互連的环境,提供了比传统业务更多、更好的服务。在互联网的基础上,网上的VoIP用户之间的通话是免费的。因此,如果网络的连接速度越好,那么VoIP通话的质量越好。
2.2 VoIP通信常用的相关协议
在VoIP通信中包含有H.323、SIP、MEGACO和MGCP等协议。H.323主要用于基于局域网的多媒体会议,后来又扩展到VoIP。H.323标准不仅适用于点对点的通信,还适用于多点会议的通信。会话发起协议(SIP)是一种应用层控制协议,通过客户机给服务器发送请求,并通过服务器处理这些请求来给客户机以响应。并且回话发起协议能够和多个参与者同时创建、修改和终止回话。会话发起协议和客户-服务器协议有着非常多相同的地方。媒体网关控制协议(MGCP)是指呼叫控制单元与电话网关之间的通信服务。媒体网关控制协议(MGCP)属于控制协议的范畴,能够允许同时监测和控制IP电话和网关事件的发生,并且能够通过其将内容发送到指定的地点。而媒体网关控制协议(Megaco)是 IETF 和 ITU-T 的综合体,是控制在物理上分开的多媒体网关的协议单元的协议,从而将呼叫控制从媒体转化中分离出来。
3 IPv6网络下的VoIP通信设计
VoIP通信包含有H.323、SIP、MEGACO和MGCP等协议,本文笔者主要通过对IPv6网络下的VoIP通信中H.323的设计进行分析,并且通过探讨IPv6网络下的网络通讯软件设计来研究IPv6网络下的VoIP通信设计。
3.1 H.323的基本组件及其功能
3.1.1 H.323的基本组件
在VoIP通信的区域中,区域包含了终端、网关、网守以及多点控制单元MCU这四个主要组件。就VoIP通信中的H.323区域来说,H.323区域最少必须有一个终端,但却只能有一个网守,可能会有网关或者是多点控制单元MCU 。H.323区域可能是由多个路由器或者设备连接起来的网络组织。所有的H.323区域形成的管理控制构成了一个Domain.而整个H.323网络则是由Domain构成的。在H.323区域中的网守能够根据协议将Domain间的通信的信息进行交换。对于不同的Domain之间的信息的交换要根据各自相关的协议来实现。
3.1.2 H.323的功能
H.323中的终端(Terminal)的各个模块包括数据模块、网络传输模块、系统控制模块以及音视频模块等。终端作为H.323区域中的端节点,主要是通过收集用户的控制命令来实现对数据的压缩编码,然后通过对用户的控制指令的结合来完成H.323的控制过程。在这一过程中,系统能够及时的确定发送的方式以及信息。在H.323中,终端能够实现系统的控制功能以及语音服务。终端的核心目的就是系统的控制功能。系统控制功能能够使终端在交互信息前正确的进行操作。
网关(Gateway)能够为H.323网络和其他网络之间的呼叫的建立和释放提供传输格式和通信过程的转换。另外,网关还可以传输二者之间的信息并且提供媒体格式的转换服务。网关也可以使不同局域网的H.323网络进行通信,并且可以为其提供通信通道。事实上网关的最主要的应用是建立与模拟终端的连接。网关通过电路交换网络来建立与H.323终端的连接。
网守(GateKeeper)是H.323网络中最重要的组成部分。网守是H.323区域中呼叫的中心所在,并能夠为端点提供呼叫控制服务。虽然网守不是H.323网络的必要组件,但如果H.323网络中有网守,那H.323网络就必须使用网守提供的强制制服务和非强制服务。网守提供的强制服务包括有地址翻译、呼叫接入、带宽管理、区域管理、呼叫控制信令、呼叫授权、呼叫管理、网络管理、计费服务器客户端等。而非强制服务则包含有管理信息库和终端业务启动等。
多点控制单元MCU在H.323网络中是由一个多点控制器和多个处理器组成的。多点处理器能够处理各个终端间的共同的音频和视频。另外,多点控制器还能够控制多点会议的资源。而多点处理器能够直接处理媒体流。在多点控制单元MCU中,多点处理器能够完成对媒体流的混合、交换和对音频和视频的加工等。不仅在多点控制单元MCU中具有多点控制器和多点处理器的功能。另外,在H.323网络的其他组件中也还有多点控制器和多点处理器的能力。
3.2 IPv6网络下的网络通讯软件设计
为了实现IPv6网络下的网络通讯软件的设计,多协议WinSock程序设计实现了对于IPv6/IPv4混合环境下的网络通讯软件时间的方法。笔者通过分析Sockets开源代码来进行IPv6网络下的网络通讯软件设计。IPv6网络下的网络通讯软件设计为VoIP通信设计打下了坚实的基础。
结语 综上所述,IPv6网络是互联网协议技术。大量的研究人员正在对IPv6网络技术进行进一步的发展和完善,因此IPv6网络受到研究人员的广泛关注。本文笔者通过分析IPv6的概念和来由以及VoIP通信技术的概念及相关协议,来探讨IPv6网络下的VoIP通信设计。另外,本文笔者重点说明了VoIP通信中的H.323标准和网络通讯软件的设计。IPv6网络的应用提高了VoIP通信的质量以及安全性,为我国互联网的发展及应用做出了大量的贡献,提高了我国互联网的质量。
参考文献:
[1] 唐颖德,罗雪芳.VOIP技术发展综述[J].计算机应用研究.1999(11):1-3.
[2] 李聪.VoIP技术原理与发展应用研究[J].通讯世界.2016(5):43-44.
[3] 汪庆龙,贺松,袁森.安全的VoIP通信系统设计及实现[J].电声技术.2015(9):62-66.
[4] 李英壮,赵健,李剑虹,等.IPv6环境下基于DHT的VoIP系统的设计[J].厦门大学学报: 自然科学版.2007(S2):54-57.
[5] 杨林,郑刚.基于网络编码的无线局域网多播MAC协议及性能分析[J].中南大学学报: 自然科学版.2009(4):1008-1014.
[6] 洪臻,李七金,凌晨.基于DHT的对等网络路由定位模型研究[J].现代电子技术.2007(2):118-120.
作者:潘磊
通讯软件设计论文 篇2:
基于modbus通讯的上位监控软件设计
摘要:本文基于Modbus通讯协议,使用VB编写上位软件,与西门子CP341-RS422/485模块进行通讯,对PLC中变量进行读取,并存入SQLServer数据库,实现对设备的实时监控。
关键词:Modbus;VB; SQLServer;PLC
在现代工业中使用PLC设备进行分散化控制,上位机监控软件提供图形界面并对下位设备进行数据采集、管理,已经成为工业控制系统中普遍使用的监控形式。其中Modbus协议以标准、开放等优点广泛应用于工业通讯当中,本文基于西门子的CP341模块作为Modbus从站,使用Visual Basic语言进行编程,在上位计算机中采集、存储PLC中状态变量,实现对设备的实时监控。
1.Modbus协议
一个Modbus通讯数据帧由若干个字节组成,一般通信数据帧的格式包括:地址域、功能码、数据域、错误校验(16位CRC校验)
地址域长度为1个字节,表示从站的地址。功能码是数据帧中传送的第二个字节,不同的功能码对应数据域格式不尽相同,常用的功能码有1、2、3、4、5、6、15和16,分别表示读线圈、读输入状态、读保持寄存器、读输入寄存器、写单个线圈、写单个输入状态、写多个线圈、写多个保持寄存器[1]。数据帧最后两个字节是CRC错误校验域。
若需要读取05从站以00 00为起始地址的两个REAL型数据:3.4和8.9,则主站发送的报文:05 03 00 00 00 04 C5 8F,从站返回报文:05 03 08 40 59 99 9A 41 0E 66 66 D6 72。
2.西门子CP341的组态与编程
2.1西门子CP341组态
本文涉及与计算机通讯的从站为西门子S7-300PLC加装CP341-RS422/485模块。在安装CP341之前需要插入硬件狗Dongle,安装驱动软件CP_PTP_PARAM和Modbus-Slave318,然后才能在Step7中对CP341进行组态。
设置模块时必须与计算机确认设置的内容:从站地址、波特率、数据位停止位,校验位。CP341模块的参数应按确认后的内容进行配置,波特率通常设为9600即可。本文中通讯参数设置为9600, 8, 1, n,从站地址为5。
传输DINT、REAL数据时,应设置FC 03,06,16选项卡,并建立一个DB块存储待传数据。本文中所需传输的变量数据类型为DINT、REAL。传输模式选择Half-Duplex。配置完成后,向CP341下载Modbus Slave驱动。
2.2PLC编程
在Step7中打开 “zXX21_05_PtP_Com_MODSL”项目,将Modbus通讯程序OB100、FB7、FB8、FB80、DB80复制到Step7程序中。在程序中调用FB80,并将通讯数据块名称DB80和CP341起始地址填入。建立与计算机通讯用的FC块并调用FB80,将通讯数据块名称DB80和CP341起始地址填入。其中FB80中的OB_MASK的值应始终为1,其余变量根据需要进行分配。
3.Visual Basic编程实现
为计算机安装RS485通讯卡,添加各个数据显示控件数组和MSComm控件。Modbus RTU模式的报文发送必须控制好字符间隔,1byte数据发送后延时应小于1.5倍字符时间,两帧报文之间的间隔必须大于3.5倍字符时间间隔。一个字符时间是指按照用户设定的波特率传输一个字节所需要的时间[2]。
软件通过串口发送查询数据帧,对PLC返回的数据分解、显示,PLC返回的内容包括各开关状态、元件状态、运行速度、运行负荷等。从通讯内容来说,包括开关量、模拟量,其中开关量均打包为DINT型变量整体发送。
3.1串口通讯与数据处理
在界面中加载VB自带的MSCOMM控件,在软件启动时,程序调用API函数自动从配置文件中读取设置的控件属性参数,在控件的CommEvent事件中编写响应程序。
使用Timer控件按照要求的周期發送报文。主站发出的查询报文为05 03 00 00 00 24 44 55(十六进制),通过MSComm.Output指令发送给从站。
取得从站返回给主站的数据帧后,从第4个字节开始,每4个字节为一个数据。数据帧中的DINT型变量按位进行分解,与相应的开关量对应显示,浮点数转换为小数并显示在界面上。
3.2数据管理
为及时记录设备运行状态,分析设备使用情况,软件将打包传输的数据存储在SQLServer数据库中,以备日后查询,存储数据的过程根据MSComm.CommEvent事件触发。VB应用程序开发中,可以通过ADO对微软所支持的数据库进行操作。
在数据库中建立存储表,建立不少于传输内容的字段,分别存储各开关量数据、模拟量数据。在VB中编写读写数据库的ADO语句对SQLServer进行操作。
Set Cnn = New ADODB.Connection
Cnn.Open strCnn
Cnn.Execute "INSERT INTO Database (iTime, …) VALUES (SQLtxt)"
需要读取存储信息时,可使用SQL查询语句读取相应字段进行数据转换和位处理即可,本文不再赘述。4 结论
本文实现了在Modbus通讯的条件下,使用Visual Basic编程实现了在计算机上读取PLC中少量数据,并存储入SQLServer数据库的功能。在只需要监控少量数据的情况下,可以不必在计算机上安装其他专业的工业控制软件就能够满足需求,只安装相应的控件补丁和硬件驱动即可。本文所实现的功能降低了监控软件对计算机性能的要求,也使得部署程序更加简便。
参考文献:
[1]白焰,钟艳辉,秦宇飞.基于VC的Modbus协议通信测试软件的实现[J].现代电力,2008 25(6):76-80
[2]佟为明,胡素君,刘勇, 李中伟.一种体现Modbus主要技术的实验系统[J].电子器件,2009 32(4):833-839.
作者:吴昊罡
通讯软件设计论文 篇3:
基于Vxworks系统的打印机设备驱动程序的开发
摘要:在一个复杂的嵌入式应用系统中,使用嵌入式操作系统会提高研发效率,同时高性能的操作系统也会给整个系统的安全稳定运行提供可靠保障。本文则在此基础上对Vxworks系统的打印机设备驱动程序的开发做出一番探讨,并且成功实现驱动程序的开发。
关键词:嵌入式应用系统;Vxworks系统;打印机设备驱动程序
Printer Device Driver Program Development Based on Vxworks System
Guo Yong
(China Aviation Industry,Institute 631,Xi’an710068,China)
一、Vxworks具有如下一些特点
(一)可靠性操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系统的可靠性是用户首先要考虑的问题。而稳定、可靠一直是VxworkS的一个突出优点。
(二)实时性VxworkS的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。VxW6rkS提供的多任务机制中对任务的控制采用了优先级抢占(Preem Ptive Priority scheduling)和轮转调度(Round—Robinseheduling)机制,也充分保证了实时性。
(三)可裁减性VxworkS由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。VxW6rkS内核最小为SKB,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。VxworkS的I/O系统与设备驱动程序关系可以知道,在VxworkS中,I/O系统提供了与设备无关的用户接口,应用程序通过标准的接口包括Open()、create()、read()、write()、ioctl()、elose()和remove()来访问设备驱动程序,而不必关心驱动程序是如何具体实现的。而在内部,设备的驱动程序则是xx0pen()、xxClose等等的各个函数,具体见图1:
图1:应用程序访问接口过程
打印机设备访问层次在系统启动时,启动代码会调用驱动程序的安装函数,而这个安装函数通过调用iosDrvhistall()函数安装驱动程序;然后,启动代码将调用设备创建函数来创建设备,该函数通过调用iosDevAdd()函数为系统创建设备;经过如上步骤,用户程序就可以通过调用VxW6rks的标准I/O接口函数来对设备进行正确操作。
编写打印机设备驱动程序时,在确定了I/O机制后就可以按模型中提到的源代码的编写方法来编写设备的驱动程序了,主要包括以下几个功能函数:
1.设备创建函数
创建设备目的是产生一个系统用来操作物理设备的逻辑结构,也就是设备描述符并将它添加到设备列表中,使系统能通过正常的打开操作找到设备。
2.打开设备函数
打开操作首先是对设备列表进行扫描,找到与要打开的设备同名的设备描述符,然后进行相关的操作,通常是执行一些设备的初始化和适当的设置。其中,有pDevHdr指向设备描述符,name指向设备名,flags是由用户在调用open时传入的标记;mode参数通常用于其他类型的驱动程序,对于打印机设备来说既可以使用也可以不用。此函数的返回值会被I/O系统添加到文件描述符表中,而I/O系统会将其对应的文件描述符返回给用户程序使用,name参数是包括了设备名的打印机串,也可以通过该参数为驱动程序传入必要的选项。如果在xxDev Create()函数在系统中创建了设备“/xxDev”,在这个参数中就可以使用“/xxDev/4”来指定要打开的设备和其他相关参数,其中“/xxDev,”指定了打开的设备“/4”是附加的参数。
在此函数中如果需要执行其它的一些操作,如创建信号量、消息队列,可以在函数返回前做这些操作。
3.设备读/写函数
设备的读操作用于从设备接收数据,写操作向设备发送数据是读操作的逆过程。读/写操作是设备驱动程序中最重要的部分,它的功能是实现设备与系统的数据交换。而实际应用中,对读/写操作的要求也最复杂,包括对安全性稳定性的要求,还有时间和效率上的要求等。所以在实现这个接口函数时,必须同时掌握设备的硬件特性和系统对数据传输的要求。在实现上与硬件的相关性比较大,设计中要与硬件特性相适应。
根据所进行的操作,驱动程序可以根据需要决定此函数的参数。在访问驱动程序之前,必须首先执行此函数,而且只能执行一次。一般情况下,可以选择在系统启动是指定是否要使用该设备,从而选择是否安装该设备的驱动程序。最有效和方便的办法是在系统的配置文件中定义和设置相应的宏来进行,这样既方便调试也利于系统代码的安全维护。
参考文献:
[1]周雪峰,黄银园.基于Vxworks的实时雷达网络通讯软件设计[J].微计算机信息,2005,1
[2]乔从连.VxWorks系统BHP概念及启动过程[J].舰船电子对抗,2005,28:1
作者:郭勇