远程实验数据传输

2024-09-05

远程实验数据传输(精选七篇)

远程实验数据传输 篇1

已有的远程实验数据传输中加密数据防丢失方法如下文献[7]引入滑模结构,令数据流最小的节点最先传输,通过主动队列法达到控制拥塞的目的,通过滑模结构防止数据丢失。该方法能够有效对传输的加密数据进行保护,防止数据的丢失,但无法充分保证传输数据的完整性。文献[8]提出一种基于数据聚合的加密数据防丢失方法,构建待传输数据聚合模型,设计了一组整数规划代价函数达到防止数据丢失的目的,同时利用对偶分解法获取最佳中继节点,降低数据通信量,但该方法实现过程过于复杂,不适于实际应用。文献[9]提出一种基于数据分流技术的加密数据防丢失方法,利用分流技术对数据进行采集,从而防止加密数据丢失,该方法可在一定程度上减少传输加密数据量,降低能耗,但进行加密数据防丢失处理时,容易受到外界环境的干扰,存在一定的局限性。文献[10]在隐私保护的基础上,通过随机抽样防止远程实验数据传输中加密数据的丢失,该方法实现过程简单,但因为其依据统计学进行抽样,无法分辨出远程数据传输中加密数据数量的改变,降低了加密数据的完整性,同时增加了额外的传输开销。

针对上述方法的弊端,本文引入数据融合算法防止远程实验数据传输中加密数据丢失。

1 远程实验数据传输中加密数据防丢失方法研究

1.1 远程实验数据传输过程分析

在进行远程实验数据传输中加密数据防丢失处理之前,需要对远程实验数据传输过程进行分析,需对待传输的实验数据包进行分段处理,使各段均含有相同数量并且等长原始数据包,再将段作为单位,实现对段内数据包的编码传输、缓存及解码,下面进行详细的分析。

1.1.1 编码并传输

如果用户或服务器接收到相邻节点的实验数据包,则说明用户已经接收到的数据包没有进行编码处理,需要对其进行编码,并将将新的编码数据包传输至相邻节点。在进行编码时,假设某段有3个原始数据包x1、x2、x3,则利用式(1)对原始数据包进行编码处理:

式(1)中,yi代表编码后的数据包;αi1、αi2、αi3用于描述每个数据包所对应的编码系数。将αi1、αi2、αi3看做所有数据包的起始端,将其与编码后其他实验数据共同置于编码数据包中。只要用户最终接收到该段中2个或2个以上的编码数据包,则认为后续将得到该段中所有的数据包,同时可以对接收的数据包进行编码,为邻居用户提供服务。在进行编码的过程中,编码器随机产生2个系数βi1和βi2,依据产生的系数对该段中己有的2个实验数据包进行编码,最后利用式(2)将得到zi传输至邻居用户,即

式(2)中,βi1、βi2为随机产生的编码系数;zi用于描述编码后实验数据。

1.1.2 缓存

用户将接收到经编码后的实验数据包存储至相应的段中进行缓存,为解码提供有效基础。

1.1.3 解码

用户得到缓存的某段中所有实验数据包后,利用消去法对该段中原始实验数据包进行求解,实现编码后实验数据的解码,则可以通过式(3)对编码数据进行解码,即

式(3)中,X为某段中全部原始实验数据解码后构成的矩阵;Z为接收的线性独立编码数据构成矩阵;A为所有全部编码实验数据包头中的编码系数构成系数矩阵。

1.2 远程实验数据传输中加密数据防丢失的实现

在上节介绍的远程实验数据传输过程分析的基础上,采用数据融合算法防止远程实验数据传输中加密数据丢失,该算法的实现过程主要包括准备阶段、初始化阶段、实验数据融合阶段和加密数据防丢失验证阶段,详细的实现过程描述如下。

1.2.1 准备阶段

准备阶段主要是对远程传输中的实验数据进行加密,保证实验数据的安全性。

用mi描述明文,用ci描述密文,用p描述素数,用n描述远程实验数据传输中网络节点个数,上述参数符合,用K、ki描述密钥,K≠0,ki<p,远程实验数据加密算法为

相应的解密算法为

式中,E(·)、D(·)分别用于描述加密与解密函数;K-1用于描述K模p的惩罚逆元素,因为p是素数,所以K-1一直存在。

用c1、c2描述和m1、m2相应的密文,则和m1+m2相应的密文利用式(6)描述,即

解密后,获取的密文可利用式(7)描述,即

所以,在采用n个节点进行融合计算的情况下,融合结果的密文与明文分别利用式(8)和式(9)进行描述,即

采用以上同态加密算法,中间节点融合数据时无须对实验数据进行解密,只需最后在sink节点提取出融合结果。在该算法中,因为只有破解密钥ki才能得到明文,ki为节点与sink节点共享的密钥,利用ki能够有效保护远程实验数据传输中加密数据的隐私。

1.2.2 初始化阶段

假设利用t描述当前时刻,用mi,t描述某节点si的感知数据,其长度是5Byte。为了提高实验数据的安全性,每个节点均需利用式(10)和式(11)获取密钥的哈希运算消息验证码,即

式(10)和式(11)中,HM1(·)代表哈希函数,其采用SHA-1标准,得到的Kt与ki,t长度均为15Byte。为了防止远程实验数据传输中加密数据丢失,各节点均在探测数据m中引入一组同余数mi,见图1。

通过式(4)对di进行加密,获取密文ci,t=E(di,K,ki,t,p),同时将其传输至上级节点,完成初始化过程。因为p值主要取决于Kt、ki,t和Kt、ki,t的大小是15Byte,因此密文ci,t也是15Byte。

1.2.3 融合阶段

因为采用同态加密算法,所以不需要对融合节点进行解密,可直接求出密文,再将结果发送至父节点。假设融合节点Ai接收到两个密文c1,t、c2,t,那么利用式(12)对融合结果进行描述,即

通过上述数据融合过程可防止加密数据的丢失。

1.2.4 数据防丢失验证阶段

依据剩余定理对远程实验数据传输中加密数据防丢失效果进行验证。

剩余定理可简单描述如下。

假设存在N个素数pi>1,i∈{1,…,N},其乘积M=∏ipi,针对某组整数{m1,m2,…,mN},同余方程组m=m1modp1,m=m2modp2,…,m=mNmodpN中,[0,M-1]区间内有唯一解m,剩余定理利用式(13)进行描述,即

式(13)中,ci为剩余定理的相关系数,ci=Qi×qi,Qi=M/pi;qi是Qi模pi的乘法逆元素,利用式(14)进行描述,即

式(14)中,pi为剩余定理中的特定素数。

将式(14)带入,利用Sink节点将mf,t提取出来,再通过式(15)计算m'f,t,即

式(15)中,mf,t、m'f,t分别为防丢失处理前后的判据。比较mf,t与m'f,t,依据其是否相等判断远程实验数据传输中的加密数据是否丢失,若相等,则未丢失;若不相等,认为加密数据具有较大的丢失概率,完成数据防丢失的验证,则利用式(12)中的融合算法对该部分数据进行再次融合,完成远程实验数据传输中加密数据的防丢失处理。

2 实验结果与分析

2.1 实验环境设计

为了验证本文提出方法的有效性,需要进行相关的实验分析。实验将聚合方法和分流方法作为对比,从准确性、数据完整性、隐私保护三个方面进行测试。

测试是在某学院进行的,将学院实验室的一台PC机看作Web服务器,将电工电子实验中心的PC机看作终端服务器,对现场电工实验数据进行远程传输,现场实验图见图2。

2.2 准确性测试

准确性是加密数据防丢失方法优劣的判定基础,失去准确性,加密数据的防丢失方法也将失去意义。采用本文方法得到的结果与节点实测数据进行比对,对远程实验数据传输中加密数据防丢失的准确性进行衡量,衡量记作AR。在远程实验数据传输中没有加密数据丢失的理想情况下,AR=1。

然而在实际应用中,加密数据丢失几乎不可能完全避免。分别采用本文方法、传统的聚合方法和分流方法防止加密数据丢失,准确性比较结果如图3所示。

分析图3可以看出,聚合方法和分流方法的准确度曲线趋势相似,且在查询周期较小的情况下,本文方法、聚合方法和分流方法的准确度均较低,随着查询周期的逐渐增加,本文方法的准确度大致可稳定在90%以上,而聚合方法和分流方法的准确度一直低于本文方法,说明本文方法能够有效降低加密数据丢失对精度产生的影响。

2.3 加密数据防丢失测试

假设远程实验数据传输网络中共存在4个节点{N1,…,N4},在进行初始化时,每个节点均预置p1=6,p2=8,p3=12,则不同节点的探测数据m和其同余数组m1,m2,m3值可用表1描述。在验证的过程中,sink节点得到的解密后的融合结果为df,同时通过pi求出M=396,Q1=88,Q2=66,Q3=46,q1=4,q2=7,q3=7。后通过公式(15)求出m'f=212,若m'f=mf,则加密数据未丢失。假设融合结果dtamp中的数据mtamp变成218,mtamp=218≠m'f,则加密数据丢失。

假设df,t是sink节点接收到的数据融合结果,因为df,t中前五个字节的mf,t与其后的十五个字节的mfi,t有关,依据剩余定理的相关描述,只有利用式(15)使mfi,t不等于m'fi,t,远程实验数据传输中的攻击者才可进行攻击,但在进行进攻前,由于攻击者不获取秘钥Kt,而只能通过反复猜测,这对加密数据秘钥进行猜测成功的概率仅为2-120,可忽略,说明进行攻击成功的概率也可忽略不计,所以本文方法能够有效防止加密数据的丢失。

2.4 隐私保护测试

防止加密数据丢失目的是保证远程实验数据传输的安全性,本节通过加密数据隐私被泄露的概率P(q)对本文方法、聚合方法和分流方法的隐私保护能力进行测试,P(q)可通过式(16)进行计算,即

式(16)中,dmax用于描述节点度的最大值;P(D=k)用于描述树中节点度D=k的概率;k为正常数;q用于描述节点间通信链路被破解的概率。

本文方法、聚合方法和分流方法的P(q)值比较结果见图4。

分析图4可以看出,随着节点间通信链路被破解概率的逐渐增加,三种方法的加P(q)值也随之升高,但本文方法的P(q)值最高仅为1%左右,P(q)曲线一直低于聚合方法和分流方法,说明本文方法的隐私保护能力最强。

3 结论

提出一种新的远程实验数据传输中加密数据防丢失方法,介绍了远程实验数据传输过程,对待传输实验数据包进行分段,令各段原始数据数量相同且等长,将段作为单位,完成对段内数据包的编码传输、缓存及解码。在此基础上,采用数据融合算法,通过准备阶段、初始化阶段、实验数据融合阶段和加密数据防丢失验证阶段防止远程实验数据传输中加密数据丢失。实验结果表明,所提方法不仅准确性很高,而且能够有效防止加密数据丢失,隐私保护能力强。

参考文献

[1]马玉红.网络安全协议在计算机通信技术中的作用与意义.无线互联科技,2015;(8):10-11Ma Yuhong.The function and significance of network security protocol in computer communication technology.Wireless Internet Technology,2015;(8):10-11

[2]张金良,裴春宝,拥措.隐马尔科夫模型在列车无线传输中的应用.西安工程大学学报,2015;(4):457-461Zhang Jinliang,Pei Chunbao,Yong Cuo.Application of HMM model to train radio transmission.Journal of Xi’an Polytechnic University,2015;(4):457-461

[3]甄国涌,瞿林,刘东海.基于LVDS技术的远程数据传输延展卡的设计.电子技术应用,2014;40(8):44-47Zhen Guoyong,Qu Lin,Liu Donghai.Design of remote data transmission expansion card based on LVDS.Application of Electronic Technique,2014;40(8):44-47

[4]石常兴,周浩.一种基于EVC的数据存储管理算法实现.电子设计工程,2014;22(20):187-189Shi Changxing,Zhou Hao.The algorithm implementation of data storage and management based on EVC.Electronic Design Engineering,2014;22(20):187-189

[5]高小娟,车明,黎贺.异构网络制式下的3G点对点远程数据传输.计算机工程,2015;41(9):120-125Gao Xiaojuan,Che Ming,Li He.Point-to-point 3G remote data transmission under heterogeneous network standard.Computer Engineering,2015;41(9):120-125

[6]刘鹏,吴海峰,要艳静,等.基于SCADA的远程无线数据采集系统.石油化工自动化,2014;50(1):29-31Liu Peng,Wu Haifeng,Yao Yanjing,et al.Remote wireless data acquisition system based on SCADA.Automation in Petro-chemical Industry,2014;50(1):29-31

[7]王茂华,郝云力,褚亚伟.具有隐私保护功能的数据加密算法.计算机工程与应用,2014;50(23):87-90Wang Maohua,Hao Yunli,Chu Yawei.Data encryption method based on privacy preserving.Computer Engineering and Applications,2014;50(23):87-90

[8]赵巾帼.WSN中基于多属性协助和压缩感知的数据恢复算法.计算机应用与软件,2015;32(7):137-142Zhao Jinguo.Data Recovery Algorithm Based on Multi-Attribute-Assistant and Compressive Sensing in Wsn.Computer Applications and Software,2015;32(7):137-142

[9]刘金明,谢秋菊,王雪,等.基于GSA-SVM的畜禽舍废气监测缺失数据恢复方法.东北农业大学学报,2015;46(5):95-101Liu Jinming,Xie Qiuju,Wang Xue.Method of missing data recover of waste gases monitoring in animal buildings based on GSA-SVMJournal of Northeast Agricultural University,2015;46(5):95-101

烟气在线分析数据远程传输 篇2

公司自备电厂燃煤锅炉安装了西克麦哈克公司的SMC-9021烟气在线分析系统,监测烟气的颗粒物、二氧化硫和一氧化氮浓度等数据。在线分析装置没有网络接口,只有串口和监控微机通信,要想把数据传到公司局域网,供HSE管理人员在办公室随时查看,比较简单的办法是使用带有串口和网络接口的数据转换电路,用串口监听在线分析装置的通信数据,再把有效数据通过网络接口传到公司局域网。系统构成如图1所示。

1 原在线分析系统通信协议

要采集到有效数据,首先要了解监控微机和分析系统的通信过程。通过查找说明、联系厂家技术人员和简单测试,确定通信方式为串口(RS-232)通信,接口参数是19200、n、8、1,即波特率为19200bps,无校验,8个数据位,1个停止位。通信协议是MOD-BUS_RTU,程序中用到协议中的读取寄存器命令,通信数据格式分析见表1和表2。

MODBUS_RTU通信规约最后2个字节是CRC码,是通过对其前面数据进行CRC校验算法得到的,接收端收到数据后先进行CRC码计算,再与发来的CRC码对比。如果一致,说明这组数据是正确的;否则说明数据有错误,整组数据无效,继续采集下一组数据。CRC校验方式采用CRC-16(循环冗余错误校验),其步骤如下:

(1)预置一个16位寄存器为十六进制FFFF,称此寄存器为CRC寄存器。

(2)把第一个8位二进制数据与CRC低8位字节进行异或运算,将结果放入CRC寄存器。

(3)把这个16寄存器向右移一位,用0填补最高位,检查移出位。

(4)若向右移出的数位是0,则返回(3),若向右(标记位)移出的数位是1,则CRC寄存器与多项式1010000000000001(A001)进行异或运算。

(5)重复(3)和(4),直至移出8位。

(6)重复(2)~(5),进行下一字节处理。

(7)所有字节处理完毕,得到16位CRC寄存器的高低字节,进行交换。

(8)最后得到的CRC寄存器内容即CRC码。

2 数据转换电路设计

数据转换电路主要由单片机P89LPC938、RS-232通信接口芯片MAX232、以太网控制器ENC28J60和内部带以太网变压器的RJ45网络插座HR911102A组成,电路原理图见图2,P89LPC938的管脚RXD、TXD接MAX232,管脚MOSI、MISO、/SS、SPICLK和P1.6接ENC28J60,其中P1.6作为ENC28J60的复位控制,其余4个管脚是SPI通信接口。

MAX232是串口通信电平转换电路,内含振荡电路,依靠外接电容可产生±10V电压,MAX232的T-IN2脚接DB9标准插件与监控微机串口通信线连接,采集烟气在线分析装置返回的数据,再转换成TTL电平数据输入到单片机P89LPC938。

P89LPC938是基于80C51内核的低功耗FLASH单片机,其特点是内部有7.373MHz振荡器、看门狗、复位电路和电源监视等电路,有UART、SPI通信接口,用这种单片机使外围电路很简洁。单片机通过管脚RXD接收到数据后,经过分析处理,再通过SPI接口控制ENC28J60接收和发送网络数据,组成简易的Web服务器,当公司局域网上有电脑查询数据时返回监测数据。

ENC28J60是带有SPI通信接口的独立以太网控制器。它可作为任何配备有SPI的控制器的以太网接口。ENC28J60符合IEEE 802.3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。它还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算。与主控制器的通信通过2个中断引脚和SPI实现,数据传输速率高达10 Mb/s。2个专用的引脚用于连接LED,进行网络活动状态指示。

3 单片机编程

程序用C51编写,上电后首先初始化单片机端口,再初始化单片机内部串口、定时器和看门狗,接着初始化ENC28J20,然后在主程序中循环检测以太网数据并进行处理。初始化ENC28J20时注意设定的IP地址、MAC地址要和局域网内其他设备的IP地址、MAC地址不要冲突。网络数据传输过程:首先访问方发来ARP数据包,回应ARP告诉访问方本地MAC地址,然后建立TCP连接,访问方用Http发来数据请求,回应发回采集到的数据,最后断开TCP连接,等下一次数据刷新请求。

数据采集是利用串口通信中断子程序实现的。串口还有一个功能是和微机联接,用于修改和设定网络IP地址和MAC地址,并把数据存储在单片机内部EPROM存储器内,这是因为局域网内有多个数据采集器应用时,IP地址和MAC地址不能相同,必须设为不同地址,防止发生冲突。MODBUS_RTU规约中写多个寄存器的功能码是10,具体数据格式见表3。

4 应用测试

根据公司局域网IP地址分配,设定数据转换装置的IP地址为10.126.3.122,MAC地址为45 4E 4300 00 01,登陆密码为dl2.net,安装接线完毕,给数据转换电路接通电源,在局域网其他电脑IE浏览器地址栏输入http://10.126.3.122/dl2.net/,则会看到监测数据页面。

如果是在公网应用,由于一般IP地址是动态分配的,数据采集器无法直接接入公网,只能通过路由器接入公网,采集器IP地址根据路由器设为192.168.1.XXX,然后在路由器上设置动态域名和端口映射,这样在公网其他电脑上用动态域名就可以访问数据采集器了。

除了用IE浏览器直接访问数据采集器,还可以用其他软件编写应用程序访问。比如用VB6中的WebBrowser控件访问数据采集器,通过对返回数据的分析可得到监测数据,这样就可以编制软件界面显示数据,把数据保存到数据库,画出随时间变化的曲线。

5 结论

由单片机P89LPC938配合ENC28J60以太网控制器构成简易的WebServer,具有电路简单、性能稳定的特点。该数据转换装置通过适当功能扩展,可以应用到其他远程数据采集系统。

参考文献

[1]张伟业,黄云龙,陈国定.基于ENC28J60以太网通信接口的设计与实现[J].机电工程,2008,(01):28-30

远程实验数据传输 篇3

互联网为我们的工作和生活提供了多种的服务,使用它人们可以下载文件,发送E-mail和网上聊天等,所有这些服务,都可以归纳为信息传输。

不同的服务使用了不同的Internet协议,了解了这些协议,遵照协议的规则,理论上讲,就可以使用任何一种计算机语言,编写Internet程序,但这种编写程序的工作是非常繁琐和极容易出错的。

V B的W i n s o c k控件,其内部封装了几乎所有的Internet协议,而以类的形式提供了属性、方法和事件,使得编写Internet程序得到了极大的简化。

两台计算机在通讯时,作为数据源的一方称之为服务器,而接受数据的一方,称之为客户,一台计算机既可以是服务器,又可以是客户机,只要运行相应的软件既可。

Internet中使用IP地址来确定计算机和服务器的地址,但确定上层提供哪种服务,却要使用端口号,这端口号不是指硬件端口,而是与服务程序的地址相对应。例如:F T P服务的端口号是2 1,W W W服务的端口号求建立连接时,必须给出两个参数,一是IP地址,一是端口号[1]。

I P地址指明了作为服务器的计算机,而端口号表示上层协议提供哪种服务。

2 Winsock控件

Winsock不是VB常用的标准控件,使用时需打开工程/部件,在列表框内选择Microsoft Winsock Control 6.0,单击确定,这时在工具箱内就会出现Winsock控件。

在VB和其他可视化面向对象的编程语言中。都采用了类和对象的概念。实际上,在工具箱中所提供的各种工具,如文本框,按扭等都是V B事先定义的类,这些类都具有各自的属性、方法和事件。一旦某些控件放到用户的画面(假定为Form1)中,那便是给出了某个类的实例(Instance),也就是创建了某个类的对象。只有通过对象用户才能访问(使用)这个类这个对象的属性、方法和事件。

属性可以看作类的静态属性,而方法则是类能够发生的行为并可被用户调用的程序,事件是类在程序运行时给出的对象与用户的接口,通过这些接口,可以控制程序的走向,完成预期的工作[2]。

Winsock的常用属性:

协议(Protocol):通讯时所使用的协议,TCP或U D P协议。

远程主机(Remote Host)远程与之通讯的主机IP地址。

远程端口(Remote Port)远程主机的端口号。

本地端口(Local Port)该机的端口号。

除此之外,还有State、Error等。

下面是Winsock在运行期间可以产生的事件,在这些事件中,我们可以编制代码,控制程序的运行。

●Close:结束两个计算机的连接时,激发此事件。

●Connect:使用TCP或UDP协议和端口号,建立与远程计算机之间的连接时产生此事件

●Connection Request:只要有远程计算机试图与本机连接时,产生此事件。

●Data Arrival:远程计算机数据到达时,调用此方法。

●Error:winsock在程序运行中出现错误,便调用此事件。

●Send Complete:当使用Send Data方法,发送数据到达另一台计算机是,调用此事件。Called when a block of data is successfully sent to another computer using the Send Data method

●Send Progress:此事件允许你监视发送数据的进程。This method allows you to monitor the progress of a send operation

下面通过一个简单的数据传输程序,说明Winsock控件的使用方法。

3 使用Winsock编写数据传输程序

发送数据的一端作为服务器,它向客户机提供数据;接受端的计算机作为客户,它接受服务器发来的数据。

在两台计算机上分别作出含有4个文本框和4个按钮的画面。如上图所示。在服务器的画面上放置1个时钟(Timer)和1个Winsock,其中Winsock是用来连接两台计算机,进行数据通讯的,而时钟是用来定时发送数据的。Connect按钮是用户用来启动一个连接请求,表示该机作为客户机;而Listen按钮用来准备接受一个连接请求,表示该机作为服务器。在服务器和客户机的Connect按钮的单击事件中写入代码:

在我们的应用中,使用了文本框“Text1”值作为IP地址;而端口号选取1234端口号,断口号可以选用大于1023小于49152的任意数值。

Winsock的Connect事件处理等待连接的进程,因此可在Connect事件中加入如下代码:

连接的结果是连接成功或连接失败。

在服务器一端的程序的Listen按钮的单击事件中写入如下代码:

在服务器的一方,不必考虑客户方的IP地址,任何含有服务器IP地址和相应端口号的连接请求度可以接受。

一旦服务器检测到连接请求,服务器端便会自动地产生事件。Connection Request事件的原形如下:

它仅含有一个参数,而且这个参数是由Winsock自动给出,它唯一地标识了从客户机发来的连接请求。在C o n n e c t i o n R e q u e s t事件中写入如下代码:

两个计算机一旦建立了连接,便可以使用Winsock的Send Data方法发送数据。

在服务器的计算机上的Timer1的Timer()事件中,写入如下的代码:

"定时的将Text3(名称)和Text2中的数据发给客户机。

记住:所有的Winsock的命令都要以vb Cr Lf结尾。

另外在两方的Send按钮的鼠标单击事件中,也加入以上程序,供操作员随机发送信息使用。

数据到达客户机后会自动产生Data Arrival事件,在客户机和服务器的Winsck.Data Arrive事件中填入如下的代码:

4 程序的运行

客户机和服务器各自运行自己的程序,在客户机端单击Connect按钮,请求与服务器建立连接;在服务器端单击Listen按钮,准备好接受连接请求。如果IP地址没有问题,而且硬件正常,在两个机器上就会建立起连接,并提示在Text4中。在上述事例中服务器方就会把Text2种的数据,不停地发往客户机,发送的频率取决于定时器T i m e 1的定时时间。服务器及客户机的双方,都可以在Text2种键入信息,然后点击Send按钮,将Text2的内容发往对方。

5 结束语

以上是使用Winsock控件传送数据的技术梗概,其余的部分,如:数据获取,Timer控件的使用,不在此累述。读者可以运用以上介绍的连接、发送和接收等方法编制出各种生动活泼的应用程序。此程序曾在热网监控系统中得到实际应用,换热站的数据可以定时地发往中心监控室。

摘要:本文详细地介绍了VB Winsock控件的属性、方法和事件及在工程中引用Winsock控件的方法,并通过远程数据传输程序,来说明这些属性、方法和事件的具体使用方法和注意的问题。此程序曾在换热站监控系统中得到了实际应用。

参考文献

[1]日.竹下隆史等.《TCP/IP综合基础篇[》M].北京.科学出版社.2000.4

远程实验数据传输 篇4

大型油田的油井、大型煤矿的矿井、水文监测点等监控设备具有分布地域广,工作时间长,不宜长期值守等缺点,通常采用人工抄取数据的方式[1],条件较好的地方则采用专线或数传电台的方式把监测点的数据传输到信息中心。然而,这些方法都存在很大的不足:人工抄取方式既不方便,也浪费人力物力;数传电台需要向专门的管理部门申请传输频率,并且受天气和地理条件的影响很大。鉴于此,本文设计一种基于码分多址(Code Division Multiple Access,CDMA)技术与MEGA128L的远程数据传输系统。

CDMA是近年来被应用于商业的一种数字接口技术,与GSM相比具有以下优势:发射功率小;采用先进的软切换技术,使得其通话可与固定电话媲美,不会有GSM掉线现象;采用以拓频通信为基础的一种调制和多址通讯方式,其容量比模拟技术高10倍,超过GSM网络约4倍[2]。利用CDMA的TCP/IP协议进行数据的远程通讯,可以实现对各种物理参数的远程无线监控。本文介绍了ZTEiT公司的CDMA模块MG801A及其与Atmel公司的MEGA128L构成的数据远程传输系统硬件电路和软件流程。该设计可以通过TCP/IP协议,利用网络接收数据,并与PC机进行数据传输等,已应用在基于CDMA的验潮仪远程数据传输系统中。该系统采用的模型为客户/服务模型,终端为系统提供数据服务,网络中的计算机作为客户端接收数据,并对数据进行存储和处理。系统以CDMA为无线通信链路,主链路采用Internet互联网链接,从而实现远距离的数据传输。

1 系统主要硬件

该系统利用CDMA网络的高覆盖率和高可靠性以及MEGA系列单片机卓越的低功耗特性和丰富的外围器件实现数据的远程传输。下面对主要硬件部分做简要介绍。

1.1 MG801A模块

MG801A是中兴集讯系列无线模块中基于800 MHz工业级应用模块,该模块能够承载目前CDMA2000 1X网络支持的所有业务,对外提供标准的AT接口[3],并支持BREW平台单模块应用,MG801A无线模块可广泛用于以数据、语音为目的行业应用。该模块基本功能有:CDMA2000-1X Rev0 标准,向下兼容IS-95A/B标准;8kEVRC及13kQCELP高质量语音;支持IS-637短信和IS-707数据;高速数据速率153.6 Kb/s;R-UIM接口符合国家标准;UART硬件接口及AT指令集软件接口;支持circuit-switch and packet 数据及传真数据业务;支持呼叫等待/呼叫转移/来电显示;Brew软件平台支持单芯片应用;并行16位LCD显示接口具有高速显示能力;高效省电技术/内置的电源管理;具有双组模拟音频接口;高精度A/D接口;外扩数字I/O接口;将支持内嵌TCP/IP协议;支持CPTT集群信令[4]。

1.2 MEGA128L微处理器

本设计中控制芯片选择Atmel公司高性能的MEGA128L微控制器,它采用低功耗CMOS工艺生产,并基于RISC结构,具有片内128 KB的程序存储器(Flash),4 KB的SRAM和4 KB的E2PROM,2个8位和2个16位硬件定时/计数器,JTAG,UART,SPI等接口;而且它可以在多种不同模式下工作,除了正常操作模式外,还具有六种不同等级的低能耗操作模式,因此该微控制器特别适合于低能耗的应用场合[5]。

1.3 硬件设计

基于MEGA128L丰富的外围器件,设计时尽量选择功耗较小的芯片。为了将采集到的数据进行存储,需要外扩数据存储器。根据实际数据采集量,以及人工提取数据周期,选定512 KB的SRAM作为数据存储器。CDMA模块的串口工作电压并不满足TTL电平规范,高电平仅为2.65 V,因此需要在串口的两根信号线TXD和RXD上进行电压调节。为实现此功能,设计中利用三极管特性,将电压调节到需要的电压上[6]。其串口接口电路如图2所示。

由于通讯模块工作电压典型值为3.8 V,而单片机工作电压典型值为5 V,两个芯片工作电压不一致,因此需要将5 V电源电压转换为3.8 V。在本电路设计中,选用MICREL公司的MIC29302BU芯片。此芯片具有高电流、高精度、快速的瞬态响应等特点,同时对过流、输入极反向、反插引脚、高温状态具有保护功能。电平转换电路如图3所示。

2 软件编程

系统软件设计的重点在于单片机的编程,通过向CDMA模块写入不同的AT指令,能完成多种功能。

CPU与CDMA模块之间是通过串行口进行通讯的,AT指令则是CPU与CDMA模块之间实现信息交互的接口协议,CPU可以通过AT指令完成对模块的各种操作。模块要建立无线网络连接,则需要CPU使用特定的指令来完成对模块的功能操作。

初始化单片机,利用I/O引脚控制电源模块对CDMA模块上电,利用AT命令对通讯模块初始化,包括工作方式和查询模块状态等。CDMA模块正常工作后,进行拨号连接,PPP建立成功后将返回动态的IP地址,模块在这个地址上进行操作。TCP协议是建立在IP协议基础上的传输层,与UDP相比是一种可靠性较高的协议。利用AT指令建立TCP连接,用于以TCP方式发送数据。使用AT命令查看网络连接状态,检查数据包的到达情况,处理新到的数据包,并重新传送丢失的数据包。数据发送完成后,若长时间不用发送数据,可将连接断开。数据中心以VS2005为开发平台[7],C#为开发语言[8],SQL为数据库编写中心数据处理存储软件。利用Visual C#2005 Socket控件[9]完成网络数据的接收与发送,并对接收的数据进行处理,分类存入SQL数据库[10]。软件流程图如图4所示。

3 结 语

本系统利用MEGA128L单片机控制系统与CDMA通信模块实现了实时双向远程通信。CDMA通信模块利用TCP/IP协议发送数据给监控中心,从而建立监控中心和单片机控制系统的远程通信功能;单片机控制系统通过AT指令与无线通信模块建立通信,达到实现系统功能的目的。本文针对传统验潮仪远程数据传输的不足,实现了一种新的数据传输系统,研讨了该系统组成、工作原理、软硬件设计等,对今后基于CDMA模块在验潮仪远程数据传输以及远程控制中的应用研究具有一定的参考价值。

参考文献

[1]李燕萍,王涛.基于Rabbit 2000的终端数据网络传输实现[J].无线通信技术,2005(3):18-20.

[2]裴宏,王章瑞,余永辉.基于MG801A模块的单片机短信息收发系统设计[J].仪器仪表用户,2005(6):89-90.

[3]ZTE公司.MG801A AT指令说明书[Z].

[4]ZTE公司.MG801A硬件接口电路[Z].

[5]沈文,Eagle lee,詹前卫.AVR单片机C语言开发入门指导[M].北京:清华大学出版社,2003.

[6]赵建领.Protel电路设计与制版宝典[M].北京:电子工业出版社,2007.

[7]章立民研究室.Visual C#2005文件IO与数据存取秘诀[M].北京:机械工业出版社,2007.

[8][美]内格尔.C#2005&.NET 3.0高级编程[M].5版.李铭,译.北京:清华大学出版社,2007.

[9]明日科技.C#开发经验技巧宝典[M].北京:人民邮电出版社,2007.

远程实验数据传输 篇5

1 系统工作原理概述

海洋定点垂直剖面监测系统的整体结构框图如图1所示。本文主要阐述由主控板、铱星通信终端和监测板组成的水上浮标远程监测与数据传输系统。它主要完成转发水下数据采集到的数据和对浮标体进行实时监测。为降低功耗,主控板未进行数据传输时休眠,铱星通信终端未发送数据时不供电。

水下数据采集系统利用波浪能自行下降,到设定的深度后上升并且开始采集数据。当上升到距海面浮标体一定距离时,嵌于数据采集系统顶部玻璃钢内的钕铁硼磁块将触发嵌于浮标底部玻璃钢内的磁敏开关电路,使其产生中断信号,唤醒处于休眠状态的主控板。然后,主控板通过RS232串口接收并保存从电磁耦合系统传来的数据。数据接收完毕后,水下数据采集系统再次下降去采集数据。与此同时,主控板通过铱星通信终端将接收到的数据发送到监控中心,并再次进入休眠状态,等待下次数据的到来。

主控板休眠时无法完成监测浮标、锚灯和电池电压等状态的工作,本文用监测板代替主控板完成这些重要的工作。当出现异常情况时,监测板通过I/O口产生中断信号来唤醒主控板,并与之进行串口通信,然后由主控板通过铱星将以上状态信息发送到监控中心。

2 系统硬件概述

2.1 主控板

主控板的微处理器选择Atmel公司生产的工业级ARM9芯片AT91SAM9G20,其主频高达400 MHz,在所有外设启动的全功率模式下,其功耗仅为80 mW。相对其他ARM9芯片,其功耗较低。它有丰富的串口资源,6路RS232串口和1路可配置为RS485或RS422串口,支持铱星通信终端所需的9线串口,使得主控板和铱星通信终端之间的通信更加稳定。安装WINCE操作系统后,支持大容量SD卡存储和多线程操作,非常适合应用在多串口数据采集、存储和通信的场合。主控板的简要框图如图2所示。

2.2 铱星通信终端、

铱星系统是由66颗环绕地球的低轨卫星网组成的全球卫星移动通信系统,其最大优势是通信范围可以覆盖全球,而且无论在任何地方都能保证数据通信的信号强度和可靠性,不受天气、高度、电离层、距离等不稳定因素的制约,因此,特别适合现有通信手段达不到的地方。本系统工作的海洋环境就是这样的地方。此外,相对于其他数据通信方式,铱星通信的费用较低,而且功耗较小,能够满足海洋浮标设备低功耗的要求。

本系统中的铱星终端使用铱星SBD透明数据传输模块,它嵌入了铱星9601 SBD和SBD协议,结合铱星全球覆盖网络提供铱星数据业务(SBD),通过采用数据包的方式实现短消息双向传输。在本系统中,主控板通过9线RS232串口向铱星模块发送AT指令集,实现SBD业务。用户可以通过邮件协议方式或DirectIP链接方式获取数据,也可在终端之间进行数据收发。模块的主叫消息可达205 B,被叫消息可达105 B。通信速率最高可达115 200 b/s,默认波特率为192 00 b/s,可通过AT+IPR命令设置[2]。

2.3 浮标状态监测板

主控板可以完成浮标状态的监测工作,但由于其功耗相对单片机较高,为尽可能降低电子系统功耗,满足长期无人值守监测需求,本系统选用了以低功耗MCU芯片STC12C5A60S2为核心的监测板来完成监测导航锚灯、浮标仓盖、仓体漏水和系统电池状态的工作。其正常工作时的电流为2mA~7mA。

浮标系统中,锚灯在夜间以一定频率闪烁,以免过往船只撞上浮标,如果它在白天闪烁,则说明其出现异常。对浮标仓盖进行监测,主是要为了防止其被人为打开。浮标仓体如果发生漏水,则会对其中的电子系统和电池产生致命的危害。系统的电池电压过低,也会严重影响系统的运行。如果以上这些异常情况发生了,都会通过主控板发送到监控中心。监测板的框图如图3所示。

3 系统软件设计

通过软件降低功耗的方式有两种:(1)使主控板未进行数据通信时休眠;(2)铱星通信终端没有发送数据时,通过主控板I/O口控制终端的相应引脚关断其电源。

3.1 AT91SAM9G20主控板程序设计

主程序设计可分为以下四个步骤:(1)安装中断。上电后,不打开任何串口而直接进入休眠状态。要使其返回正常状态工作,则必需通过中断将其唤醒。(2)串口配置和通信[3]。在WINCE中struct DCB包括了串口的波特率、字符位数和奇偶校验等重要属性,在修改好DCB之后,调用的串口操作API函数SetCommState使串口的属性配置生效。对于串口读写,设置串口读写超时是非常重要的,SetCommTimeouts函数提供了这样的功能。配置好串口后,用CreateFile函数打开数据接收串口和状态串口,并调用CreateThread创建串口监听线程。在监听线程中利用WaitCommEvent函数阻塞线程,等待串口事件中某一事件的发生。当串口发生错误时,则调用OnError清除错误。当有字符到达串口的缓冲区时,用ReadFile读串口。主控板与水下数据采集子系统之间的通信是在监听线程函数中回调函数OnReceive中完成的,接收到的数据保存在大容量SD卡中的文本文件。然后,利用线程同步API函数WaitForSingleObject(m_hSendWait,INFINITE)阻塞主线程。(3)数据传输。水下采集到的数据在传输完后,将会标识阻塞主线程的句柄m_hSendWait。之后,主控板将数据通过铱星发送到监控中心。(4)关闭串口。一次数据接收和发送完后,应该关闭打开的串口,然后再次进入休眠状态。主控板程序流程如图4所示。

3.2 铱星通信终端程序设计

主控板通过串口向铱星SBD透明数据传输模块发送AT指令就可以控制其发送数据。铱星模块发送数据时,其功耗最大,利用AT+CSQ命令可查询当前铱星模块与铱星卫星之间是否存在网络,这样也可以减小铱星模块的功耗。如果大于0,即应答信号位中的信号强度为1~5,则用AT+SBDIX命令发送数据。程序流程如图5所示。

3.3 监测板程序设计

监测板主要实现浮标体和电池状态的实时监测。当浮标、锚灯和电池体状态正常时,无需将当前的状态发回监控中心,也就不用产生中断信号。当出现异常情况时,如电池电压低于预设值,MCU将产生中断信号,并通过串口将状态字符串发送给主控板,由后者通过铱星通信终端发送到监控中心。

4 系统调试

将主控板的打印串口COM3与电脑的串口相连,打开串口调试助手,波特率设置为9 600 b/s,无奇偶校验位,8 bit数据位,1 bit停止位。系统上电后,把嵌有钕铁硼磁块的玻璃钢圆板向内嵌有磁敏板的玻璃钢片移动。当到达一定距离后,磁敏板产生中断信号。水下数据采集板与水上主控板握手成功后进行数据通信,主控板将数据保存在SD中。经过长时间运行,通过从串口调试助手打印出的信息与SD卡和邮箱中的数据比较可知,系统运行稳定。通过传感器模拟异常情况时,异常情况数据帧也能通过铱星通信终端发送到邮箱中。

测试到的主控板和监测板的功耗如表1所示。若以表1的数据为依据,用12 V/38 AH的蓄电池对主控板、铱星通信终端和监测板(不包括锚灯)供电,设系统每日完成一个数据采集周期,每个采集周期发送数据时间为2小时,则只采用主控板完成数据收发和状态监测所消耗的电能为22.7 WH,而用监测板代替主控板完成状态监测工作所消耗的电能为14.1 WH。在不借助太阳能电池板对蓄电池充电的情况下,前者大约能工作20天,后者大约能工作32天。可见,用监测板代替主控板完成状态监测工作非常必要。

本文利用铱星设计和实现了一种浮标远程监测和数据传输系统,在系统运行稳定的前提下,充分考虑到系统对功耗的要求,从硬件的选取到软件的实现,都尽可能地降低其功耗。用监测板代替主控板进行状态监测,不仅降低了系统的功耗,而且使状态监测和采集数据传输相对独立,更易于系统的稳定运行和功能的扩展。该浮标远程监控和数据传输系统很好地满足了海洋定点垂直剖面监测控制系统的需求,达到了设计目标。

参考文献

[1]张曙伟,王秀芬,齐勇.铱星数据通信在海洋资料浮标上的应用[J].山东科学,2006(5).

[2]Iridium Satellite LLC.Iridium 9601 short burst data transceiver product developers guide V1.24[M],2005.

远程实验数据传输 篇6

远程故障诊断系统是传统故诊断系统在网络环境下的延伸, 它利用网络技术, 实现运行设备的远程故障监测和异地专家协同诊断与维护, 且可以充分共享诊断、维护知识资源。然而, 网络世界的开放性和不安全性, 给基于网络技术构建的远程故障诊断系统在许多行业的应用提出了如何保障系统中网络数据传输安全这项新的课题。

网络数据传输安全主要解决在网络环境下用户之间身份验证、数据加密传输以及实现签名三方面问题:用户身份验证保证了通信的源点和目的点的正确性;数据加密传输保证了数据在网络的中间节点不会泄露通信秘密;数字签名可以保证发送信息的一方不能对自己发送过的信息进行否认。现代密码学的发展为网络数据的安全传输提供了理论基础和技术支持。

远程故障诊断系统的网络数据传输安全主要解决以下三个方面问题:

(1) 机密信息的加密传送:例如, 不宜公开的技术秘密不希望被竞争对手获得, 而这些信息又必须通过网络传送到合法的接收者;

(2) 通信双方的身份验证:在网络中发送和接收信息的双方在不同的地域, 不能看到对方, 甚至根本不了解对方, 这就必须在双方通信之前进行身份验证, 以保证数据传输的源点和目的点的正确性;

(3) 对已发送数据的签名:在有些应用中, 对所发送数据的签名变得尤其重要。例如, 远程故障监测诊断维护系统中它一样具有重要的意义, 当诊断专家给远程用户提供诊断意见时, 他必须对其意见进行签名, 防止在中途遭到恶意的篡改, 以导致恶劣后果。

通常网络安全应用系统并不是孤立地解决上面的三个方面问题, 将三者紧密结合, 采用混合安全模式, 才能取得较好的效果。远程故障诊断系统的网络数据传输安全同样采用混合安全模式, 解决三个方面的问题:加密传输、身份验证和数字签名。

1 加密算法

这里主要论述数据加密过程。密码学的一个原则是“一切秘密寓于密钥之中”。按照双方密钥是否相同来分类, 可以将加密算法分为对称密钥算法和非对称密钥算法两种体制。

1.1 对称式密码系统研究

对称式密码系统在加密和解密过程中使用相同的密钥, 因此又称为单密钥密码系统。对称式密码系统的安全性决定于密钥的保密, 泄露了密钥就意味着任何人均可以加密和解密信息, 因此有时也称为秘密密钥密码系统。它的优点是加密算法比较简单、高效, 密钥简短, 对方破译极其困难, 且经受住时间的检验和攻击;缺点是密钥必须通过安全的途径传送。

1.1.1 DES算法

DES被认为是最能经受考验的加密方法, 它使用相同的算法来对数据进行加密和解密, 所以用的加密密钥和解密密钥是相同的, 属于对称密钥加密算法。DES主要采用替换和移位的方法加密。它用56位密钥对64位二进制数据进行加密, 每次加密可对64位的输入数据进行16轮编码, 经一系列替换和移位后, 输入的64位原始数据转换成完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算, 运算速度快, 密钥产生容易, 适合于在当前大多数计算机上用软件方法实现, 同时也适合于在专用芯片上实现。

1.1.2 对称式密码系统的缺点

(1) 不可实现不可否认性

对称式密码系统无法实现不可否认性:由于发送方和接收方都知道对方的密钥, 因此发送方可以在事后否认他先前发送过的信息。因为接收方可以任意地伪造或篡改, 而第三者并无法分辨是发送方抵赖送过的信息, 或是接收方自己捏造的。

(2) 密钥协商问题

在通信双方进行秘密通信之前, 双方必须协商共同的加密密钥和解密密钥。显然, 使用公开的信道是非常不安全的, 而必须使用秘密信道。通过打电话、挂号信等手段, 明显降低了效率, 同时也不能完全保证这些信道中的泄密问题。

(3) 密钥的数目太大

若网络中有N人, 为了实现任何两个人之间都能够进行秘密通信, 则每个人必须保存N-1把密钥。网络中必须有N (N-1) /2把不同的密钥。当网络用户数比较大时, 显然如何管理这么多的密钥是一个大问题。

1.2 非对称式密码系统研究

非对称密钥体制的主要特点是将加密和解密功能分开, 因而可以实现多个用户加密的消息只能由一个用户解读, 或由一个用户加密的消息而多个用户可以解读, 而且可用于公共网络中实现保密通信。由于公开密钥算法不需要联机密钥服务器, 密钥分配协议简单, 所以极大简化了密钥管理。除加密功能外, 公钥系统还可以提供数字签名。

1.2.1 RSA算法

通常情况下, 可以认为RSA算法是目前最好的密码算法。它既能用于加密又能用于数字签名和密钥分配与管理, 它的安全性是基于大数分解的难度。

RSA算法的加密密钥和加密算法分开, 使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户, 可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信, 只需从公钥簿上查出对方的加密密钥, 用它对所传送的信息加密发出即可。对方收到信息后, 用仅为自己所知的解密密钥将信息脱密, 了解报文的内容。此算法解决了大量网络用户密钥管理的难题, 且密钥空间大。

1.2.2 RSA算法的局限性

RSA由于其特有的算法机制, 也同样产生了其自身在实现上的局限性, 主要表现在:

(1) 产生密钥很麻烦, 受到素数产生技术的限制, 因而难以做到一次一密。

(2) 分组长度太大, 为保证安全性, n至少也要600位以上, 使运算代价很高, 尤其是速度较慢, 较对称密码算法慢几个数量级。

1.3 对称密钥体制与非对称密钥体制的结合

非对称密钥体制与对称密钥体制相比较, 确实有其不可取代的优点, 但由于进行的都是大数计算, 运算量远大于后者, 超过几百倍、几千倍甚至上万倍, 这使得RSA最快的情况也比DES慢上100倍。无论是软件还是硬件实现, 速度一直是RSA的缺陷。鉴于以上问题, 我们采用一种对称密码体制和非对称密钥体制混合加密的模式, 此模式在传送机密信息的网络通信双方, 使用某个对称密码体制 (例如DES) , 同时使用RSA等非对称密钥体制来传送DES的密钥, 就可以综合发挥两种密码体制的优点, 即DES高速简便性和RSA密钥管理的方便和安全性。其加密、解密模型分别如图1、图2所示。

加密过程, 发方从公钥管理中心获取收方的公开密钥, 随机数发生器产生仅使用一次的128位DES会话密钥, 对明文进行加密, 生成密文。另一方面, 利用收方的公开密钥对会话密钥再作加密。最后, 将RSA加密后的会话密钥与DES加密后的密文合并在一起进行发送。

解密过程, 收方首先将密文拆分成两部分:一部分是经RSA算法加密的会话密钥, 一部分是经DES算法和会话密钥加密的原文件内容。收方用RSA秘密密钥恢复出会话密匙, 再用会话密钥和DES解密算法得到原文件内容。

2 远程诊断系统网络数据传输要求

笔者在参与“Φ2.4M特殊罐体自动焊接机”项目中对远程故障诊断技术在特种罐体焊接机中应用方面进行了研究。力图通过安全高效的数据加密算法实现远程故障诊断系统网络的数据传输。

远程诊断系统的应用范围相当广泛, 因此对系统的网络数据传输安全性的要求也根据应用的不同而要求不同级别的安全保障。一般, 一个对网络传输数据安全要求较高的应用必须保证提供三个方面的功能服务:用户身份验证、传输数据加密和提供签名服务。这里重点论述传输数据加密。

传输数据加密是保证即使网络中的窃听者能够获得通信全部的链路信息 (发生的可能性极大) 也不能理解这些信息, 正确的接收方收到数据后必须先解密才能使用这些数据。远程诊断系统必须提供两个独立的通道, 一个是非加密通道, 它可以与网络中的所有用户进行非秘密信息交流, 秘密通信密钥的协商可以通过该通道进行协商;另一个是加密通道, 该通道建立端到端加密, 加密密钥可以是接收方的公钥 (效率较低) 或者是通过公开通道协商的秘密通信密钥。

远程诊断系统中需要传送的数据主要有:音频数据、视频数据、设备实时运行状态数据以及历史采集数据等。现场的音频、视频信息是给远程诊断专家提供直观的故障诊断的依据, 它们的特点是实时性要求高, 并且数据量较大。设备实时运行状态数据以及历史数据一般以特定文件格式存放, 传输过程中要求不能出现差错。对于这些数据的传输安全, 应依据它们各自的特点, 采用不同的加密处理后再进行传输。

数据文件的加密传输对传输速率的要求不是很高, 但是对传输数据的正确率要求比较高, 因此应在接收端对接收的数据进行额外的校验。图3是加密文件传输原理图。首先, 在发送端对待传输的文件生成哈希摘要, 再利用会话密钥加密待传输文件和摘要, 然后在发送端和接收端建立面向连接的Socket通信, 开始传输加密后的文件, 最后传输加密的摘要:在接收端, 接收的数据被解密, 得到明文文件和明文摘要, 然后接收端利用相同的哈希算法, 计算明文的信息摘要, 比较是否与接收到的摘要信息一致, 如果一致则表明数据传输中没有出现错误, 则生成相同格式的数据文件。

3 总结

本文把DES和RSA的混合加密思想应用到远程故障诊断数据传输系统中去, 兼顾了加密、解密处理速度快的传统密码体制和秘密保管的密钥比较少的公开密钥体制的优点, 且不需要进行密钥秘密分配。这种方法对设备仪器异地维护系统的设计提供了参考, 具有重要的应用价值。

参考文献

[1]王景中, 徐小青.计算机通信信息安全技术[M].清华大学出版社.2006.

[2]潘爱民译.计算机网络[M].清华大学出版社.2004.

[3]张伟.基于ARM的数据加密算法实现[D].硕士学位论文.2006.

[4]李伟民.基于Internet的数控机床远程故障诊断系统研究[D].硕士学位论文.2006.

远程实验数据传输 篇7

为了解决危险采场的出矿问题,降低采矿作业危险,遥控甚至无人采矿设备已经成为国内外同行研究的重点[1,2]。随着电传动技术的发展,更多的地下采矿设备采用电传动系统。电传动系统在运行过程中将产生大量的实时数据,这些数据可用于实时控制、设备优化和维护等。对这些数据进行采集、处理和异地存储,成为采矿设备自动控制、远程控制研究必不可少的技术手段。本文以电传动地下铲运机为研究对象,设计了其远程数据传输系统。

1 系统通信结构

本文讨论的电传动地下铲运机为四轮驱动,柴油发动机输出的机械能通过交流发电机转换为电能,经过整流器和逆变器输入4个轮边电动机,轮边电动机将电能转换为动能,为车辆提供动力。由于铲运机上采用的电子控制单元数量较多,电传动系统运行时必须实现各个电控单元间的大量实时数据交换。CAN总线具有结构简单、数据可靠性高、连接便捷、节点设置不受限制、错误检测能力良好等优点,在车辆控制系统上已经得到了普遍应用[3],因此采用CAN总线实现工业现场数据传输。

为了满足日常生产的通信需求,地下矿山的巷道中通常铺设有无线通信网络,与调度中心的网络相连。因此,电传动地下铲运机远程数据传输系统以该无线通信网络为传输通道,以TCP/IP协议作为通信协议,利用Socket网络编程技术,实现电传动地下铲运机运行数据的远程传输和实时监控。系统通信结构如图1所示。

根据作用的对象不同,电传动地下铲运机远程数据传输系统分成了2个子系统:车载客户端子系统和远程服务器子系统。车载客户端子系统主要负责发送实时运行数据和接收操作台指令,并将控制指令发送给主控制器;远程服务器子系统负责接收运行数据,解析处理数据和发送操作台指令。由于系统需要监控的数据量较大,为了保证数据通信的可靠性和实时性,系统采用异步TCP通信方式[5,6]。

2 分布式CAN总线网络

由于电传动控制系统复杂性较高,控制对象在结构上相对分散,所以,按照功能将整个控制系统分成若干子系统,形成分布式控制结构[4]。分布式CAN总线结构如图2所示。

CAN总线网络以电传动地下铲运机的主控制器为核心,分为4路CAN网络拓扑,采用主从式通信模式。CAN1为柴油发动机控制网络,主控制器直接与柴油发动机的电控单元(Electronic Control Unit,ECU)进行通信,遵循SAE J1939协议;CAN2为车辆动力控制网络,主控制器对包括励磁控制器、斩波制动控制器和轮边牵引电动机逆变器进行控制;CAN3为辅助控制网络,主控制器对铲运机铲装机构的液压控制器、显示屏、仪表等进行控制;CAN4为数据传输网络,主控制器将其他网络采集的实时数据传输至车载计算机。为了提高每个网络数据传输的抗干扰性和可靠性,在各网络的终端加入120Ω的终端电阻。

根据工程经验,CAN总线网络的通信波特率采用250kbit/s可以满足通信需求。为了保证CAN总线通信畅通,总线占用率最好保持在33%~66%。根据位填充技术,数据帧m的最坏总线占用时间Cm为

式中:dm为数据域字节数,该通信协议下最大为8;τbit为位时间,在250kbit/s波特率下为0.004ms。

由于CAN2运行时所产生的数据量最大,为了统一网络协议标准,其他网络的通信周期以CAN2为标准,则CAN2中全部数据帧的最坏总线占用时间之和约为10.5 ms。因此,可选取的通信周期为15~30 ms。根据主控制器工作周期,本文选取25ms为CAN总线通信周期。

由于各个控制器的启动时间不同,尤其是车载计算机的启动时间晚于其他控制器,为了保证车载运行数据的完备性,设计了启动后的握手检验系统。主控制器启动后不断向其他控制器发送握手信号,其他控制器收到握手信号后向总线发送握手反馈信号,主控制器收到全部握手反馈信号后,跳出握手检验系统,开始执行行车控制。

3 系统设计

3.1 车载客户端子系统

车载客户端子系统将CAN总线传来的实时数据简单处理后进行本地存储,通过无线通信网络与调度中心数据服务器进行远程数据交互;同时解析操作台的控制指令,通过CAN总线将控制指令发送到主控制器。车载客户端子系统软件流程如图3所示。

3.2 远程服务器子系统

远程服务器子系统主要由2个部分构成,第1部分的作用是接收车载客户端子系统发送的数据并进行解析,将驾驶员所要了解的车辆信息(如车速、发动机转速、档位状态等)显示出来,并将解析后的数据存入调度中心的数据库;第2部分的作用是响应操作台控制器采集到的控制指令(手柄、踏板等),并向车载客户端子系统发送控制指令。远程服务器子系统软件流程如图4所示。

3.3 数据通信校验

为防止网络不稳定导致数据错误,在客户端与服务器的通信中加入校验信息。当车载实时数据被解析并封装成数据包准备发送时,待发送数据包就是一个包含有用数据的数组。对数组中的值进行循环冗余校验(CRC),得出CRC值,再将CRC值附到数据包后进行发送。

服务器收到数据后提取出CRC值,并对数据包中的内容进行校验,再将得出的值与收到的CRC值进行比对。若两值相等,则说明数据可信,该包数据会被系统解析,并存储及显示;若两值不相等,则说明数据传输有误,直接舍弃该包数据并等待下一包数据。客户端数据校验原理类似。客户端和服务器数据包结构如图5所示。

客户端和服务器发送的数据包分别以相应的起始标志符开始,随后依次为数据发送时间、数据长度、数据区和校验区,最后以终止标志符结束。各区域间用“;”分隔,数据区各数据之间用“,”分隔。

4 结语

电传动地下铲运机远程数据传输系统采用分布式CAN总线结构,利用TCP/IP异步传输原理实现了实时数据远程传输功能。分布式CAN总线结构具有很高的可靠性,可以有效采集实车运行数据,利用TCP/IP异步传输原理进行数据远程通信具有可行性。

参考文献

[1]战凯,顾洪枢,周俊武,等.地下遥控铲运机遥控技术和精确定位技术研究[J].有色金属,2009,61(1):107-112.

[2]高梦熊.国内外地下金属矿山采矿车辆的现在与未来[C]//中国矿业科技大会论文集,苏州,2010:43-64.

[3]杨超,刘立,陈树新,等.基于CAN总线的地下铲运机遥控系统的研究[J].矿山机械,2011,39(3):30-32.

[4]钟恒.多轮电传动车辆控制方法的研究[D].北京:北京科技大学,2012.

[5]徐小东.基于socket技术的数据交换平台的设计与实现[D].上海:上海交通大学,2006.

上一篇:媒体财经报道下一篇:地市级新闻媒体