传输器十篇

时间:2023-03-31 00:32:40

传输器

传输器篇1

Abstract: We design a wireless message deliver machine working in an intermediate distance with the MSP430 system. The wireless transceiver, nrf905, the LCD and the keyboard are controlled by the MSP430 system with the method of interrupt. In this way, we can achieve many functions like sending and receiving messages from one point to another one, saving the messages, saving and establishing the information of the people we will contact, showing and adjusting the time, the alarm clock function, the switching of the input methods and the E-book function. What’s more, low power consumption is a great characteristic of our design.

关键词: 中距离;无线短信传输;中断;低功耗

Key words: intermediate distance;wireless message deliver;interrupt;low power consumption

中图分类号:TN91 文献标识码:A文章编号:1006-4311(2010)13-0177-02

1设计要求

设计一个中距离无线短信传输器,要求具有点对点短信的发送与接收、存储信息、存储与新建联系人等功能;并且为了方便使用,还要像一般手机那样具有时间的显示与调整、闹钟、输入法的切换、电子书等功能。为了能够达到节能的效果,要求设计尽量低功耗。

2设计思想及方案论证

为了要达到项目所提出的要求,我们采用如下的设计:

2.1 为了达到低功耗,本设计全部采用中断,当有任务请求时,执行相关任务,而其它空闲时间,则工作在低功耗模式。采用MSP430系统则能够很好地达到此要求。

MSP430 系统是一种超低功耗微控制器系统,能够实现最大化的代码效率,唤醒时间(低功率模式唤醒到运行模式所用时间)小于6us 。MSP430系统具有一种活动模式和五种软件可选的低功耗运行模式。一个中断事件可以将芯片从五种低功耗模式中的任何一种唤醒,为请求服务并在从中断程序返回时恢复低功耗模式。

因此,本设计选用MSP430 系统作为核心控制芯片。

2.2 无线收发器的选择本设计中的短信传输器,选择工作在433MHz频段,又结合低功耗的要求,最终选用nrf905单片无线收发器。nrf905单片无线收发器可工作在433/868/95MHz的ISM频段,其工作模式的特点是可以自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置。另外其电流消耗很低,进入POWERDOWN模式可以很容易实现节电。

2.3 显示方面由于短信中含有汉字、字符、数字等,所以选用内部含有国标一级、二级简体中文字库的点阵图形,能够显示汉字、字符、时间等的12864作为液晶显示模块。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互界面。另外低电压、低功耗也是12864液晶显示模块的一个显著特点,能够进一步起到节能的效果。

2.4 时钟芯片的选用本设计中的时钟及闹钟功能都要用到计时,若采用核心系统设置定时器计时,一方面需要采用计数器,占用硬件资源;另一方面又需要设置查询、中断等,同样耗费系统的资源。如果在系统中采用专门的时钟芯片,则能很好地解决这个问题。经查阅可知:DS1302芯片,每月的天数和闰年的天数可自动调整,与控制器之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:复位、数据线、串行时钟。另外,DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。

所以我们最终选用DS1302作为计时芯片。

2.5 SD卡存储由于MSP430系统自带的flash容量较小,而设计中需要用到存储的地方较多,所需存储容量也较大,所以我们采用SD卡来扩展系统的存储容量。TF卡具有:能够移动,可扩展性强,能够支持文件系统、便于与PC数据传输等优点,所以最终选用TF卡作为外部存储卡来扩展系统的存储容量。

3硬件设计

根据以上论证,我们以MSP430系统为核心,采用中断控制nrf905单片无线收发器、液晶显示模块、时钟芯片DS1302以及输入设备键盘、用来扩展存储的SD卡和提供声音信号的蜂鸣器。

系统原理框图如图1所示:

4软件设计

4.1 设计程序流程

设计程序的流程图如图2所示:

即系统初始化后进入MSP430系统低功耗模式,当有中断请求时,中断请求会将MSP430系统从低功耗模式中唤醒,根据中断请求响应相应的中断操作,而若没有中断请求则保持在低功耗模式。

4.2 核心技术为了实现各项功能的要求,我们的系统在软件设计方面花费了较大的精力,现将一些核心技术作如下简介:

4.2.1 低功耗为了尽可能实现低功耗,所有模块均采用中断方式,即没有中断时,MSP430系统处于低功耗模式3下,此时430的所有端口均关闭,相应的晶振端口也关闭;另外由于主界面是计时显示时间的,需要不断刷新,所以此处为了更好地实现低功耗,我们采用时钟中断的方式(即每一秒钟产生一个中断来执行时间的刷新功能);为了进一步实现低功耗,我们又作了相应的设置:当系统处在主界面并且连续60秒没有任何操作时,设置显示屏自动关闭,此时键盘和nRF905中断均可以将其唤醒。

4.2.2 点对点信息的发送由于所使用的nRF905单片无线收发器一次只能传送32个字节,为了传输信息容量的最大化,我们采用分时传送的方式来实现信息与号码的发送。

4.2.3 输入法的切换(中文的输入与显示)在设计系统时,我们预先将中文字库存储在MSP430系统自带的flash中,这样在中文输入时,采用直接寻址的方式对中文字库进行调用。

由于12864显示中文时必须双字节显示,所以我们在显示中文的程序中添加了相应的判断语句:若已显示字节数为偶数,则直接显示该中文字;若已显示字节数为奇数,则先显示一个空格,再显示该中文字。

4.2.4 独立标识号我们所设计的每个终端系统均具有独立的标识号,由于nRF905的地址验证码是4个字节,所以有232(约43亿)个独立标识号。另外为了方便用户使用,我们将十六进制的标识号转化为相应是十进制数显示。

4.2.5 SD卡的存储SD卡是系统中的外部存储设备,我们的设计程序中,所有有关存储的操作(例如:联系人的新建、联系人的查看、收件箱、发件箱、草稿箱、电子书等)均预先对SD卡进行检测,如果SD卡存在,则进行相关操作;如果SD卡不存在则给出提示并退出当前操作界面。

4.2.6 脱离SD卡时信息的发送与存储系统设置成将SD卡拔出时,仍能够进行信息的发送与接收,但由于MSP430自带的flash太小,此中状态下发送与接收的信息部进行存储。

4.2.7 文件系统我们设计的程序在系统开机时自动对SD卡进行检测,如果SD卡不存在,则给出提示;如果SD卡存在,则检测其是否具有系统文件(即联系人文件、收件箱文件、发件箱文件、草稿箱文件等),如果没有,则自动生成系统文件,此后,所有的存储操作均建立在该系统文件上。

5系统界面结构框图及功能

5.1 系统界面结构图

由于设计的系统功能较多,我们采用多级菜单的形式,根据键盘按键的选择转至相应的界面,系统界面结构图如图3所示:

5.2 项目功能①能够实现点对点信息的发送与接收,最大程度地缩短接收信息处理时间,同时还实现分时传送,即完成信息内容和发送者地址的分时接收;②信息的大容量存储(信息接收、发送及新建的实时存储);③联系人的存储与新建:最多可以新建21个联系人,可实时删除选中联系人并刷新所显示的联系人;④时间的调整与显示;⑤闹钟功能;⑥输入法的切换:能够实现中文、英文字母(大、小写)和数字之间输入法的切换;⑦电子书功能(重新打开电子书时,能够自动记忆上次的浏览);⑧文件系统:所有存储的信息和电子书均是以文件的形式保存在记忆卡中的,可以在windows下直接进行读取或修改;⑨每个终端系统均具有独立的标识号,最多可支持约43亿个独立标识号。

传输器篇2

关键词:单片机;传输控制器;远距离

中图分类号:TM571 文献标识码:A

1 引言

随着城市化的进程发展,社会已经进入信息化的时代,信息传输快捷化和处理高效化已经成为各行业目标要求的重中之重,人们每时每刻都需要获取重要信息,并对这些信息加以处理和利用。因此,数据信息的传输和显示就成为一个值得研究和重视的课题。

大屏幕显示技术主要是基于LED的电子显示屏,信息的获取和显示是依据控制器来完成的。通过控制室计算机远距离把数据传输给终端,使得人们快速获得相关信息,在控制系统中便于对数据的分析计算,及时做出调整。

本文主要介绍利用单片机技术,把软硬件结合起来设计一种传输控制器,并根据传输协议来完成数据的传输和检测,以达到快速准确处理数据的目的。远距离传输采用串行通道,应用RS-232和RS-485协议传输数据信息。

这项设计属于实用技术,且要求设计精确,适合各种环境和场合应用。

2 控制器的方案

数据传输控制器是把人们的信息变成以数字代码表示的数据,并把这些数据输送到远端的计算机系统,同时,可以接收远端计算机系统的处理结果――数据,并将它变为人们能理解的信息,相当于人和机器之间的接口。CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样,所以接口电路中可以设置多个端口来分别处理这些不同的信息。

数据电路:由传输信道及其两端的数据电路终接设备DCE组成,它位于DTE与计算机系统之间,作用是为数据通信提供数字传输信道。

传输控制器接收数据后,将数据传输给其它系统或显示终端设备。控制器是以CPU为核心,有数据输入和输出接口、复位电路以及显示驱动电路等部分构成,组成框图如图(1)所示。

3 硬件实现

传输控制器的电路原理图部分如图(2)所示。其中CPU采用的是ATMEL公司AT89C51控制器,该单片机只有一路串行口,为了与不同系统和微机通讯,电路扩展了三路串行口,通过74LS32及74LS11实现。采用MAXIM公司MAX232接口芯片与微机通讯,该芯片应用方便,只需外接4个电容即可。为了延长信号传输距离,传输控制器设计了一个RS485接口与其它系统或大屏通讯。RS485接口采用MAXIM公司MAX1480芯片;该芯片采用单5V供电,完全电隔离,传输速率可达2.5Mbps,具有电流限制及热关断功能,抗雷击。

4 软件设计

根据功能要求,主要完成:端口连接、上电提示、通信模块(大屏幕和上位机)等几个模块程序。控制器主程序流程图如图(3)所示。

结论

本文以89C51作为核心,通过RS485协议,实现数据传输控制器和大屏幕之间的通信流程;利用RS232协议,实现了数据传输控制器与PC通信。

通过测试,硬件电路和通信功能都已基本实现。设计中可能还有很多没有考虑到的地方,如数据信息传输过程中的有效保护和信号干扰问题。

参考文献

[1]毕厚杰.多媒体信息的传输与处理[M].人民邮电出版杜.2004.

[2]黎洪松.数字视频技术及其应用[M].清华大学出版社.2001.

[3]李世银.基于流媒体的数字视频传输技术研究[J].中国矿业大学.2002.

传输器篇3

关键词:无线基站移动传感器;能量消耗;网络优化

近些年来,以传感器为载体的无线传感器网络发展迅速。无线传感器网络是包含无线通信、传感器、网络传输与基站移动等多种学科于一体的处理信息和传输技术。通过网络对周围信息进行采集和网络友好交互,能够更好地帮助人类处理信息和数据,并通过传感器的节点跳传来实现信息的快速有序传递,达到通信与交换的目的。但由于一跳节点不仅要传输自身的数据信息,还要被其他节点用作中继站进行“被动服务”,这导致这些节点能量耗尽,停止工作,从而引起整个网络的瘫痪。相比较静止的基站来说,移动基站移动方式和目标区域的合理设计对整体网络的负载平衡有着很大的作用和意义。本文在无线基站移动传输的基础上,分析研究现有模型的利弊,提出改进方式,实现网络的优化。

1 无线基站移动的传输模型

1.1 基站随机移动模型

基站随机移动有两种方式,一种是在移动物体本身配置数据收集工具,比如手机、车联网中的传感器等,目标物体在整个无线传输网络中随机移动,当目标物体靠近传感器节点探测范围内时,相邻目标物体的节点将数据传输到对应的目标物体上,在通过移动的目标物体将数据传送到基站。另一种方式是在传感器网络内放置一个随机移动的基站,它的移动方向和运动距离是随机可变的。在基站随机移动模型中常用的算法有:数据骡子算法、移动数据收集器算法、基站完全随机移动算法和基站部分随机移动算法。

数据骡子算法是指将可以移动的目标实体作为传感器网络中的“一跳节点”,即当数据骡子靠近传感器节点时,这些节点将自动将需要传递给基站的数据信息发送到数据骡子身上,通过它们的移动,再直接传递给基站,从而省去了一些节点的中继传输,有效的避免了热点问题。但数据骡子随机性太大,不能保证数据的及时传输,这种算法还存在一定的弊端。移动数据收集器算法的思想是设置多个移动目标体在对应的无线传感器网络内,与传感器节点相互连接成路由树,节点选择强度最大的信号进行传输,即最近移动目标实体,缩短传输时间和距离,降低网络负载。但问题是网络内移动实体的随机性对路由树的建立和选择路径影响较大,优化效果有限。基站完全随机移动算法和部分随机移动算法则是通过基站移动的方向和距离进行条件约束,限制基站移动范围始终在传感器一跳节点的传输范围内,而降低中继节点的使用,从而节约节点资源。但不能兼顾每一个传感器节点,仍有问题出现。

1.2 基站固定轨迹移动模型

基站按事先设计好的轨迹进行移动来实现整体网络地信息传输,这之中最常见的算法有:网络边缘移动算法、移动协助数据收集模式算法、基站基于线性规划的移动算法和受控移动实体移动算法。

网络边缘移动算法是考虑到网络区域所能覆盖的范围,形状一般以圆形区域最为基础和实用,因而将基站的移动轨迹设置为沿着圆形范围的边界移动。这个算法的优点在于使边缘网络情况更加稳定,且网络生存时间较固定模式提高400%,但缺点是圆形模式固定,缺乏灵活性。移动协助数据收集模式算法是在网络边缘移动算法的基础上改进而来的,采用基站环形区域移动的方式,通过缓冲区使数据传输过程中的能量消耗降低,但容易丢失数据,网络区域局限。

2 o线基站移动传感器网络优化

2.1 网络模型的建立

设网络为一个L×L的规则方形区间。在这个规则方形区间内安放N个传感器节点,并且使这些节点的位置符合参数为λ的泊松分布。N个节点之间互相连通互相通信,每两个节点之间不少于一条直达路径的存在。一旦将某个节点安放好,它的位置即为固定位置,不会移动。这个网络区间中还安放一个移动基站,假设它的能量不会消耗完且数据传输资源完善,拥有计算能力、路由传输能力等,且基站能预先了解该网络的边界和任何一个传感器的方位。传感器和基站之间互相可以通过GPS获取相关位置。

2.2 能量消耗模型

2.3 优化算法描述

无线基站移动传感器网络的优化在于基站的移动,这个复杂的过程影响着网络的传输性能和速度,网络的优化可以从基站的移动条件、移动目的地、移动方式这三方面入手,来构建新的传输网络模型。

基站移动条件。这一部分的算法设计决定了基站移动的基础参数,评估参数有利的情况下,移动基站;反之,基站保持不动。用一下参数进行基站的定位说明:

SR1:小于基站距离D时,且在一跳区域内的节点;

Pa:每个时间段内通过节点a的数据包数量;

PT:一组包含SR1每个节点数据流量的节点,并按升序排列;

E(TR):节点a传输一个数据包到下一跳节点所消耗的能量。

基站移动目的地。方法为将基站移动到需要传输数据包最多的那个节点上。根据资源有限和地形的局限,基站无法进行距离较远的移动运动:一方面这样的远距离移动会引起基站与其它节点和数据收集处的联系丢失;二方面是无线网络的动态拓扑结构会发生变化,从而使该点位置无法成为当前情况下的最优位置点。为了达到相近的结果,本文在处理过程中试着把基站移动到中继节点周围,也能同时路由大量的信息。

基站移动方式。假设基站不考虑能量和计算能力限制,传感器节点被排列后即为不可移动的,可自行控制基站的移动。在本模型中,基站根据目标位置与所处位置和所有两跳的相邻节点的能量损耗来改变移动方向。通过数据收集,上述满足条件的传感器节点将自己的位置信息和能量信息都发送给基站。如果是一跳以外两跳以内范围的点,基站就尽可能靠近这个节点。

3 结束语

通过研究无线基站移动的传感器网络的传输模型,本文在这些基础上改进了移动模型,结果表明,该模型延长了网络生存时间,实现了网络优化。

参考文献

传输器篇4

关键词:AT89S52;GSK 980TA系统;程序传输器

1 需求分析

东风柳汽专用件车间,是我实习所在的车间,主要负责生产公司的各类非标总成及零件。车间里有六台数控车床,使用了广州数控设备有限公司生产的GSK980TA数控系统。该系统只能存储63个程序,由于车间生产的零件较多,机床内部的存储空间远远无法满足要求。车间之前的做法是当程序存储空间不足时,就删掉一些最近不用的程序,然后手工键入新的程序。费时费力,且无法保证准确性。经常有因为程序错误导致零件报废的情况发生。

因此需要改变这一方式,使用传输程序代替手工键入程序。

2 可行性分析

为了解决这一问题,我上网查找了很多资料,并详细透彻的研读了数控系统的说明书。根据系统说明,该系统只支持与电脑RS232通信,交换程序、参数等。既然可以使用笔记本电脑与机床通信实现程序传输,那么就可以设计一个通讯器做为电脑与机床之间的移动电子版,与U盘功能类似,只不过这里使用的232通信罢了。

3 设计要求

既然要设计通讯器,那么通讯器应该具有以下功能,以满足需求

(1)手持式通讯器,锂电池供电,带充电、保护、升压模块;

(2)有向电脑发送、从电脑接收、向机床发送、从机床接收四种功能;

(3)带背光显示屏,能显示通讯状态与程序号,可存储多个程序。

4 方案论证

4.1 要制作通讯器,首先要实现电脑与机床之间的程序传输

首先安装数控系统的传输软件“凯恩帝串口通信3.0版”,这个软件是兼容软件,窗口化操作,比原厂软件的DOS界面要友好很多。然后根据系统说明书“第四篇安装连接 ・ 第二章接口信号定义及连接”的“图 2-21 系统与PC 机的连接”制作了一根用于电脑与机床之间传输程序的通信电缆。然后运行通信软件,根据GSK980TA系统说明书的第三篇之第十一章“通讯”,可知数控系统默认的通信格式为:波特率:2400,停止位:2位,数据长度:7位,校验方式:偶校验。

准备工作完成后,可以开始实验通讯。通讯不像U盘拷文件那么简单,需要特定的按键与操作顺序才能完成,同时还需要关注数控系统内的参数设置,具体操作参考系统说明书“第三篇操作说明 ・ 第十一章通讯”。

经过实践,机床与电脑之间的通信顺利实现,程序可以在机床与电脑之间自由传输。

4.2 破解通讯协议

通讯上面的实验,程序实现了顺利的传输,可是整个传输过程到底是怎么实现的呢?这个时候就破解通信协议,因为所有的资料、网上的论坛都没有公开这个通信协议。如何破解呢,答案当然是监听通信过程,然后用通讯器模仿通信对象的另一方。监听的方法有两种:硬件监听与软件监听。

硬件监听是使用另外一台机器,机器上安装有两个串口硬件,仅使用串口的接收RXD信号,这两个信号分别接到电脑与数控系统通信线的TXD与RXD线上。这样就可以在另一台电脑的串口助手上清楚的看到两台机器间的通信了。这种监听方法是硬件级的,肯定可以监听到数据,且不会被通信着的设备发现,但实现方法比较复杂。

第二种监听方法是软件监听,从电脑端入手,使用串口监听软件,监控电脑串口上的数据流。这种方法最简单,只要安装软件就可以了。监听软件有很多,而且有的通信软件内部有防监听功能,具体怎么实现不详,在这里,我选择了Portmon, Portmon是一个用于监控系统串口与并动的工具。它不但可以监控本地机的串口与并口,而且可以通过TCP/IP协议监控其它计算机。

然后安装好该软件,开始监听。首先监听的是电脑向数控系统传输程序的流程,传输的的程序很简单,只是一个程序号O1234,监听并分析数据流后,总结出了电脑向机床发送程序的通讯流程:

(1)机床会先向电脑发送一个特征字11H,代表电脑可以发送了;

(2)此时电脑开始向机床发送数据流:25H 20H 0AH 3AH 31H 32H 33H 34H 0AH 25H 25H 25H。开头与结束的25H是电脑附加的,为内容开头与结束特征字,中间的内容为程序实体内容。

4.2.3 最后机床向电脑发送一个HEX码:13H。代表接收成功。

然后我又监控了很多种通信过程,两种通信模式:机床发送给电脑,机床从电脑接收,不同的程序内容:各种程序号,只有程序号的,有程序号和程序内容的。终于总结出了机床与电脑通信的规律,而且在这里只是需要制作一个通讯器,不需要对中间的内容进行详细的解析,只需要对开头和结尾的几个字节进行分析就行了,其它内容都是原版不动的存储起来就行了。

5 设计并制造通讯器

5.1 通讯器的功能框图如下

5.2 通讯器主要元件选型

核心零件――单片机选择了AT89S52,原因很简单,这个是我平时搞电子常用的单片机,目前我比较拿手的也是这个单片机,为了快速的完成这个通讯器,在这里没有考虑其它的单片机。

存储器――ISSC65256。由于AT89S52只有8k字节的片上Flash,且单片机无法自编程,加上片上只无集成了256字节RAM。要存储数控系统的程序,这显然是不够了,于是我选择了ISSC62565这个外部并行总线的32KRAM,这个芯片我在大学的时候用过,很适合AT89S52,虽然与单片机的联线比较多,但使用起来很简单,存储速度也比单片机快多了,程序处理也很简单。

RS232串行通信接品电路,在这里无疑是选用MAX232芯片。我设计的这个模块还有一个特色,就是支持交叉与直连转换。串行通信都要求一方的TX信号线接另一方的RX信号线,否则无法通信。在这里我使用了一个6毫米的双刀双掷转换开关,如果无法通信,可以通过开关转换,以保证通信成功,而不用更换通信线。

剩下的就是其它的外转电路:RS232转TTL电路及元件,1602字符型显示屏及电路,按键电路、锂电池升压及充电控制电路(在这里选择了现成的一体化模块)。在这里使用了很大众化的电路板设计软件:Altium Designer Sumer 06。

5.3 程序调试

由于这个单片机的资源实在是有限,我依旧只能使用汇编语言来设计程序,程序比较难读,但不得不佩服汇编的高效率。程序运行得很好,在这里摘录了一段通讯器从机床接收程序的子程序TAFA。程序内容如下:

TAFA: CLR TI ;清发送中断标志,防止上次影响

CLR RI ;清接收中断标志,防止上次影响

MOV DPTR,#LINE9 ;显示"TA Kai Shi FA"

LCALL DISPA1

MOV DPL,70H;重新载入程序存储首地址

MOV DPH,71H

JNB RI,$ ;等待计算机发送程序

CLR RI

MOV A,SBUF ;把接收缓冲器的内容送到累加器

CJNE A,#12H,TAFA;检测发过来的内容是否以12开头

JNB RI,$ ;等待计算机发送程序,不存储12这个开关

CLR RI

MOV A,SBUF;把接收缓冲器的内容送到累加器25H

MOVX @DPTR,A;存储接收来的内容

INC DPTR ;指向下一地址

TAFA1: JNB RI,$ ;接收内容

CLR RI

MOV A,SBUF

MOVX @DPTR,A ;存储接收来的内容

INC DPTR ;指向下一地址

CJNE A,#0A5H,TAFA1;收到25H则认为程序内容结束。

TAFA2: JNB RI,$ ;再接收一个25H

CLR RI

MOV A,SBUF ;把接收缓冲器的内容送到累加器25H

CJNE A,#14H,TAFA ;收到14H则认为程序内容结束,不存储14H

LCALL XUHAO ;调用分离并显示程序号的子程序

MOV DPTR,#LINE13;显示"TA FA Wan "

LCALL DISPA1

RET

6 通讯器应用效果

截止至目前,通讯器已经投入实际生产应用半年有余,生产班组反馈良好,每次传输程序都能正确完成,数控班班长电脑内的程序库也一天天的完善起来。现在已经很少看到有人面机床的十寸显示屏上用按键输入程序了。可以说,这个通讯器的制作还是相当成功的。

7 结束语

新一代的数控系统都已经意识到了串口传输的不便,纷纷集成了新型的传输接口及协议,比如USB接口、CF卡接口、以太网接口等。但对于公司已有的机床设备来说,不可能因为一个程序传输的不便而轻易的更换整个数控系统。数控系统在整个机床的寿命周期里一般是不更换的。这里所制作的数控机床通讯器,虽然不是非常高科技的制作,甚至由于AT89S52这颗CPU显得有些落伍。但通讯器还是解决了老系统程序传输这个难题,提高了车间的生产效率,降低了因程序错误引起的废品率。

参考文献:

[1]GSK980TA车床用数控系统使用手册[M].广州数控设备有限公司出版,2005(05).

传输器篇5

1、不同牌子的PLC接线不同。例如是欧姆龙PLC它的输入端需要外置24伏的直流电源,24伏直流电源的负极接PLC的COM端,正极是触发PLC的输入端的。三菱PLC不需要外置电源可以直接用PLC输入端的COM端触发。

2、三线制传感器也分好多种类,例如光电开关、接近开关都有三线制的,接近开关要分PNP和NPN两种有着正极输出和负极输出。你要说明白再问,如果是三线制光电开关的话,光电开关的棕色线接24伏正极、蓝色线接24伏负极剩下的那一根线接PLC的输入端。接近开关也一样。

(来源:文章屋网 )

传输器篇6

关键词:高速传输信号连接器 特性阻抗 信号完整性 测试方法

中图分类号:TM503 文献标识码:A 文章编号:1672-3791(2015)03(b)-0023-01

目前,传统连接器已经退出历史舞台,取而代之的是能够解决高频信号在高速线路传输过程中发生信号衰减、串扰、阻抗匹配等问题的新一代连接器――高速传输信号连接器。它无论从外形还是数据传输性能方面都几乎完美胜任于现代社会的发展。

1 连接器

在电子设备中连接器主要的作用是承上启下,即将器件、组件、系统之间的电气和信号进行连接和传递,简单说就是把两个完全断开的电路联系起来,从而使它们导通,完成信号的传输。在滤波、高温环境、高速传递、射频信号传输等领域,都可以采用电连接器。目前我国较为常用的是高速差分连接器,它在传输信号方面损耗小、质量稳定且传输速度快。

2 高速传输信号连接器各参数的设计

2.1 特性抗阻的设计

特性抗阻是连接器的固有属性,它描述了电子信号在均匀的传输线路中传输时受到抗阻而发生的动态变化。它的数值等同于瞬态抗阻,数值的大小受影响于材料的介电常数、单位电容量和其他材料属性,但与传输线长度无关。对于连接器来说,如果特性抗阻不能合理设计,就会造成信道传输的抗阻不匹配现象,导致信号反射的发生并最终降低信道的高速传输能力。

为了避免抗阻不匹配,该文采用了屏蔽四绞线且差分阻抗值为100Ω的LVDS电缆。LVDS是一种低摆幅差分信号技术,它能使信号在差分PCB线在平衡电缆上以每秒上百兆比特的速率进行传输,是低压供电线缆信号传输的未来发展趋势。高速差分连接器的四分同轴接触件的差分阻抗与它的内导体外径d,外导体内径D,内导体中心距L和相关的填充介质相对介电常数ε都有关联。所以连接器的特性阻抗值的近似理论公式应为:

Zdiff=120/εr*ln(4D/1.2πd)*(1-0.347e-2.9(L-d)d/D)

考虑到连接器的生产化问题,其内导体的尺寸应该符合国家标准。如果四个导体均以外导体作为对称中心,那么它们的位置关系应该是一个正方形分布。该文中所设计的内导体尺寸为边长2mm,L为2.7mm,εr为2.01,D为4.55mm,d为1.22mm。将相关参数带入到上文公式可以得到四分同轴接触件的差分抗阻为Zdiff=101.1Ω。

2.2 四分同轴接触件的串扰干扰分析及具体设计

高速差分连接器的差分串扰来自于干扰线,当干扰线在构成差分对的两条静态线时,因为耦合效应会产生电压值的差,即形成了差分串扰。四分同轴接触件进行高速信号的传输时,四个内导体的交叉会形成两对差分对,如果#1和#3,#2和#4分别构成动态差分配对和静态差分配对,那么对它们单根静态线和构成差分配对的两条静态线角度之间的串扰就可以进行计算。四分同轴接触件中由于四个导体是正方形的排列,所以#1和#3的内导体距离#2静态线的距离都是2mm。从静态线的电压感应理论来看,它们应该是幅度相同但极性相反的组合,但是这些差分串扰是可以互相抵消的。因为#2和#4内导体是静态线,它们共同构成一路差分传输对。所以#2和#4的内导体传输数字信号逻辑值应该是根据它们之间的电压差而得来的。考虑到#2和#4内导体距离动态线相同,所以#1和#3动态线在串扰现象发生时,它们的串扰电压在幅度和极性上也是相同的。如此一来,接收端在接收到信号后,电压差不会发生变化更不会发生逻辑判断错误。在实际零件的生产时,由于尺寸位置上的偏差就会导致各内导体在静态线上的串扰电压不能完全相互抵消,所以在差分对间的差分串扰是依然存在的,但是量值很小。

为了控制甚至避免这些串扰,应该在四分同轴的接触件制造时,考虑采用高精密的成型工艺,这是为了保证四分同轴接触件的各部分零件尺寸和位置能够严格按照要求确保位置精度,也就是四个内导体之间的位置精度要达到0.06mm范围以内。当位置精度在0.06mm以内,四分轴的接触件就可以保证在10GHz的状态下其串扰可以控制在≤-45dB。

3 连接器四分轴内的性能效果分析及计算

3.1 无缝隙的屏蔽效果

连接器中四分轴的金属波阻抗比空气波阻抗要小,这就说明了四分轴金属内的电磁波能力传输主要方式最好以磁场形式传播,才能避免高阻抗。当然电磁波在通过金属时也会被迅速衰减。所以就要计算导体内的电流密度衰减到表面电流密度时电磁波所透入的深度,即集肤深度:。公式中,μr表示屏蔽材料的相对磁导率,f是信号的工作频率,是屏蔽材料的相对电导率。通过公式我们可以得知,如果能够确定屏蔽材料的情况下,μr和也是确定的。所以频率f越小,它的集肤深度就越大,相应的屏蔽体的厚度就越大。所以近区场的无缝隙屏蔽效果公式为:

公式中AT为屏蔽效果,t是屏蔽的金属层厚度。因为四分轴的接触件外导体材料均为铜质材料,当μ取1.0,f为108Hz,t是0.5mm,是1的时候,代入以上公式可得出AT为923.3dB。这就是相邻四分同轴接触件之间的无缝隙相互屏蔽效果。

3.2 缝隙处的屏蔽效果

如果两个四分同轴接触件之间有缝隙,那么这个缝隙就是四分同轴接触件的插孔外导体所造成的,它的尺寸不大,它的屏蔽效果应为:

公式中,Hg是泄漏磁场的强度,H0是缝隙处被屏蔽的磁场强度,g是四分同轴外导体开口处的缝隙宽度。根据实际产品设计结构带入数值,t为0.06mm,g为0.02m,e为2.71,可以得到A孔的数值是81.66dB,所以相邻两个四分同轴接触件之间的缝隙处屏蔽效果是81.66dB。

根据设计后的性能分析,本文中的连接器四分同轴接触件之间已经达到了高屏蔽能力,在80dB以上。考虑到差分信号能量微弱,四分同轴接触件之间的总电磁干扰也不会很强,所以完全可以忽略。

4 结论

该文对高速差分连接器中四分同轴接触件的主要参数指标进行了设计和性能分析,其计算结果表明了连接器的差分阻抗性能优良,而且具有极强的抗串扰性和屏蔽效果,满足了现代电子设备对信号高速传输的要求。

参考文献

[1] 汪静,何建锋.高速传输信号连接器的设计与性能分析[J].遥测遥控,2010,31(4).

传输器篇7

光纤收发器对远端数据传输的实现

什么是光纤收发器

光纤收发器是一种将短距离的双绞线信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也称之为光电转化器。产品一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,且通常定位于宽带城域网的接入层应用;同时在帮助把光纤最后一公里线路连接到城域网和更外层的网络上也发挥了巨大的作用。

为了保证与网卡、中继器、集线器和交换机等网络设备的完全兼容,光纤收发器产品严格符合10Base-T、100Base-TX、100Base-FX、IEEE802.3和IEEE802.3u等以太网标准。目前使用较多的10/100M光纤收发器的原理框图如图1。

图1 光纤收发器工作原理图

光纤收发器一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,同时在帮助把光纤最后一公里线路连接到城域网和更外层的网络上也发挥了巨大的作用。有了光纤收发器,也为需要将系统从铜线升级到光纤,但缺少资金、人力或时间的用户提供了一种廉价的方案。为了保证与其他厂家的网卡、中继器、集线器和交换机等网络设备的完全兼容,光纤收发器产品必须严格符合10Base-T、100Base-TX、100Base-FX、IEEE802.3和IEEE802.3u等以太网标准。除此之外,在EMC防电磁辐射方面应符合FCC Part15。时下由于国内各大运营商正在大力建设小区网、校园网和企业网,因此光纤收发器产品的用量也在不断提高,以更好地满足接入网的建设需要。

光纤收发器对远端数据传输的实现

随着我国信息化建设的不断发展,宽带以太网的接人方式以其成本低、传输速率高、安装方便而得到越来越广泛的应用。以太网光纤收发器作为一种短距离的双绞线信号和长距离光信号之间进行互换的以太网传输转换设备,突破了传统5类线只能传输100M以太网电信号的局限性,依靠其高性能的光纤收发模块和换芯片,利用光纤通信频带宽、信息容量大、保密性好、抗干扰能力强、传输距离长的优势,较好地解决了以太网电信号在传输方面存在的问题。

各单位在网管系统建设时,通常更多地考虑核心交换机、路由器等骨干设备的网管,却往往忽略边缘接入必不可少的光纤收发器的状态检测和远程维护。即便采用了一些简单的网管,一般也只能管理到接入机房机架上的局端光纤收发器,而对放置在用户端的远端收发器则无能为力。一旦接入部分的光、电链路出现故障后很难远程判别故障点,往往需到用户端或接入机房才能进行判别和处置。通过采用远端网管型光纤收发器系统较好地解决了上述问题。下面以远端网管型光纤收发器为重点进行相应说明。

远端网管型光纤收发器主要是由网管工作站、网络管理软件、网管卡、插卡式光纤收发器、局端机箱以及远端机箱构成。远端网管型光纤收发器网管系统提供了5种管理方式:

(1)使用Windows自带的超级终端,通过机架串口进行本地网管;

(2)使用浏览器,通过Web页面远程访问,并可以显示、控制远程收发器的工作状态;

(3)使用标准的SNMP管理软件进行管理;

(4)中心局安装专用软件在后台运行,采集数据以数据库的形式保存在网管PC机硬盘,用户经过登录接受网管系统的认证后,在中心机房可以以图形界面详细显示出各机房当前的工作环境和收发器卡的当前状态;

(5)使用TELNET进行命令行管理。

本文以专用软件方式为例,对远端网管型光纤收发器网管系统在某广电宽带网上的三类典型应用进行介绍。

(1)远程状态监测

网管专用软件运行风格类似于Windows资源管理器。主窗口左侧为资源树,以树的形式展现现有资源所含有的机架以及机架中的收发器。主窗口右侧为设备列表,以小图标的形式显示出所有机架,可以根据图标的颜色判断机架正常与否,是否列于轮询队列中。主窗口下侧为告警信息列表,显示了所有轮询告警和主动告警的消息。

(2)轮询和告警

为了确保光纤收发器的正常工作和进一步减轻管理员的工作负担,软件定时对各个机架进行访问,接收各机架中主控单元采集的机架状态及其局端、远端收发器的状态信息,并保存在本地数据库中。软件在接收到状态信息后能够对资料进行分析,若判断得出机架或收发器异常,则自动告警,并将事件记录到告警日志中。

(3)远程控制

管理员可以对局端和远端的收发器进行远程控制。通过IP地址和机架名称或者机架号来指定机架,当机架被指定后,接口将提供可控制的收发器列表,选定收发器后,其当前的状态量将会列在“状态”标签页中,同时用户可在“设置”标签页中修改双工模式、速率等选项。最后还可根据实际需要来控制传输带宽,以kbps或Mbps为基本单位、以32kbps为步长进行控制。当用户所要设定的流量不是32kbps的倍数时,即不是系统认可的有效值时,系统将会以最贴近该设定值的有效值进行设定(四舍五入原理)。

结论

传输器篇8

【 关键词 】 危险品监测;传感器技术;Java仿真;GPS;数据传输

The Monitoring System of Dangerous Goods for Transport based on Sensor Networks

Yang Yue

( Institute of International,Beijing University of Posts and Telecommunications Beijing 102209)

【 Abstract 】 In view of the problem and defects in the current Safety Monitoring system of dangerous goods, an intelligent Safety Monitoring system with the GPS sensor, temperature sensor, humidity sensor and Pressure sensor was designed. The whole deign of a practical scheme in Safety Monitoring system was presented. It expounds the use of sensor network technology and GPRS network technology which can realize the logistics monitoring system for intelligent real-time monitoring, data wireless transmission and the excess risk early warning function. And it analyzed the advantages of the new Safety Monitoring system ?compared with the traditional one. The applications of the above techniques improves the efficiency of information collection, and enhances real-time and accuracy for the system.

【 Keywords 】 dangerous goods monitoring; sensor technology; java simulation; GPS; data transmission

1 引言

由于近年来应用于运输行业的危险品监测系统并不多,长途运输,货物丢失、物品变质的事情越来越多,并且在天气状况不佳的情况以及开夜车时司机昏睡撞车事故也时有发生,运送危险品时或者运送水果以及药物时,货车的温度、湿度等监测内容变得十分重要,其研究意义极其重大而深远。货车灾难发生前能否及时预警,给司机予以提示非常重要。就我国的情况来看,我国每年都会发生很多场交通事故,造成严重的财产损失甚至国民的生命。由于运输行业的货车大多行驶高速公路,发生险情不易被发现,提高预防手段,保证保护人民生命财产安全的问题摆到了我们面前。

2 系统总体设计架构

运输监测系统采用分散式信息监测节点轮询与自动式相结合控制结构,各信息监测节点通过温度传感器、湿度传感器、压力传感器以采集数据,将数据通过GPRS数据链路传输到监测中心。货车监测系统整体结构组网示意图如图1所示。

信息采集监测节点,主要是利用传感器网络采集参数,经单片机简单处理后用于上传;数据传输链路,主要用于对下位机采集的数据信息,利用GPRS的方式进行传输,或者来进行监测中心指令下发到信息采集终端;监测中心,下位机采集的数据信息经GPRS传输到上位机,利用处理器进行数据处理提取信息,据此做出决策,同时根据需要可以通过数据链路下发数据指令到信息采集终端。

3 系统硬件平台构建

3.1 监测节点硬件组成结构

本设计中关于硬件的部分是主要就是信息监测节点的设计,GPRS无线传输网络利用运营商提供的现有的设备,因此系统的主要硬件组成如图2所示,监测系统硬件部分主要包括微控制器模块、电源供电模块、传感器采集模块、GPS模块以及信息监测节点显示模块等构成。

本系统无线数据通讯部分选用的SIM300 是一款拥有三频段的GPRS/GSM模块,可在世界范围内的PCS 1900MHz 、EGSM 900MHz和DCS 1800MHz这三种频率下正常稳定工作。传感器模块主要包括温度、湿度、压力等外界信息感知传感器。

3.2 各感知层电路设计

各感知层的主要功能是对货车监测各指标系数的感知、采集以及危险系数超标预警。整个网络由监测节点和汇聚节点组成。

(1)温度传感器:本设计采用红外传感器TS118-3。它以非接触的方式检测物体发射出来的红外线能量,并将其转换成相应的电信号输出。

TS118-3红外传感器电路输出为模拟信号,信号较弱,所以需要加入放大电路和模数转换电路,模数转换选用AD7715,运算放大器OP291,采用OP291芯片,因其内含两个运算放大器,将红外传感器输出的电信号进行处理,设计电路如图3所示。图3共有两级放大,第一级将输出电流放大并转换成电压信号,第二级采用巴特沃斯滤波器对信号进行处处理,得到电压信号VOUT,交由模数转换芯片AD7715,AD7715在微控制器控制下,将VOUT转成相应温度值。

(2)湿度传感器:采用DHT11湿度传感器,传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。DHT11传感器采用5V供电,入口部分加电容滤波以改善电源质量,数据线DQ小于20时要挂加10K上拉电阻,当大于20米时需降低上拉电阻。数据接口采用单总线协议并利于软件编程进行控制。

(3)压力检测电路:为防止货物丢失,车体安装压力测量检测电路。压力传感器0-5V信号输出,通过模数转换送往微控制器,当压力传感器小于设定阈值时可直接报警。

(4)LCD显示:为了方便信息监测终端的数据显示和调试方便,并且考虑到显示要求并不高以及功耗设计方面的因素,本设计采用常用的可靠性比较高的LCD1602液晶显示屏,提供给行车人员观测。

4 系统软件平台构建

信息监测节点软件部分主要完成协调各模块,完成信息数据的采集和传输,并对上位机所发指令进行解析,并做出相应的反应,高效稳定的完成监测任务。流程如图4所示。

软件部分首先需要系统模块的复位,串口初始化、波特率设置为9600bps、定时器的启动以及数据缓冲区的创建等。程序部分进行中心指令的分析,根据指令内容做出不同的处理,总共有三种:S,这个是打开上传数据信息功能,主要用于之前用过停止发送数据指令的情况下,通知监测节点可以上传数据;E,这个是停止发送数据指令,监测中心由于种种原因不方便接收数据时,发送指令通知监测节点停止数据发送;Q,查询指令,此功能满足监测中心随时数据传送的要求,监测节点收到此指令后,立即上传最近一次的信息数据。

5 系统测试与仿真

由于本文改进了地图搜索方式,首先,从缓存中读取下载到的数据,初始化参数。本文在设计上位机的时候,在Layer情报的第四个字段就加入了一个参数来表示地图层级,然后进行地图的刷新。此时,本文对数据格式进行的改进,为了实现地图的漫游、放大缩小等功能独特的数据管理方式,使缓存得到了有效利用,通过图5可以明显看出地图性能的提升。由测试结果可以看出本文方法行之有效,效果优良。

与传统物流监测系统相比基于传感器技术的危险品安全监测系统更具优势,传感器技术的应用使得网络结构更加灵活,使整个系统更智能化和信息化;降低系统成本,弥补传统监测系统存在监测盲区的问题; 具有较强实时性、准确性; 控制中心能在第一时间掌握各系数指标,指导下一步工作,避免因系数过高导致货车事故发生。

6 结束语

本文全面地分析了危险品安全监测系统,该系统成功地将计算机技术、网络技术与数据库技术完美地结合,实现了对运输的实时监测。设计实现了上位机对下位机数据的接收和读取。本文通过多方面的研究和对比,针对我国目前物流监测的现状,设计了以GPRS数据传输,综合运用现代传感器技术的货车监测系统,基本实现预设目标。

参考文献

[1] 孙玉砚,杨红,刘卓华等. 基于无线传感器网络的智能物流跟踪系统[J].计算机研究与发展,2011,48增:343-349.

[2] 张天凡.51单片机C语言开发详解[M].北京:电子工业出版社,2008.6.

[3] 杜江洪. 多传感器的环境信息无线监测网络设计[J]. 仪表技术与传感器.,2012, 8:66-68.

[4] 任晓奎,江海朋,侯洪涛.振弦式传感器在矿山边坡应力监控系统的应用[J].计算机系统应用,2012,21(1):194-197.

[5] 周航慈.单片机应用程序设计技术[M].北京:航空航天大学出版社,1991.

[6] 唐宏,江勇,刘昌云,郑雪燕.基于多线程技术的双缓冲信息存取[J].计算机应用研究,2003(12):104-106.

[7] 王伟,高能,江丽娜.云计算安全需求分析研究[J].信息网络安全,2012,(08):75-78.

[8] 张大军,李运发,郑周.云计算中数据资源的安全共享机制[J].信息网络安全,2012,(08):79-82.

传输器篇9

关键词:SQL;数据库;触发器;实时传输;网络通信

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)20-4785-03

A Design and Implementation of Real-time Data Transmission Using Trigger

LI Jin1, HAN Zhen-yu1, LIU Wei2

(1.School of Manufacturing Sci.& Eng., Sichuan University, Chengdu 610065, China; 2.Sany Heavy Industry Co.Ltd, Changsha 410110, China)

Abstract: The real-time data transmission mode, which is designed by utilizing trigger of SQL Server 2000 database, simplify the program design of the network communication module, and improve the system scalability and maintainability.

Key words: SQL; database; trigger; real-time transmission; network communication

某加油集团包含管理中心、加油站、油库三个部分,其中加油站有多个。连锁加油站管理系统的网络通信模块负责三者之间的数据传输,其网络结构图如图1所示。某些数据的传输需要保证一定的实时性,如客户加油完毕后,管理系统通过集线器采集该笔加油数据并写入加油站服务器数据库中,系统要求在短时间(通常为几秒钟)内将该笔加油数据上传到管理中心,便于用户通过Internet网查询加油信息。传统的实现方式是为每个需要上传的数据表增加一列bool类型的字段来标记该条记录是否已上传,同时,在程序中操作数据表的地方编写网络通信代码,而操作该数据表的地方通常不止一处,而且如果增加了新的数据表,就需要重复编写功能相同的代码,这就造成代码编写量的成倍增加,并且造成网络通信代码的随机分散,不便于以后的升级和维护工作。鉴于此,通过对数据上传功能需求的分析,设计了一种利用SQL触发器进行数据实时传输的方式,有效地解决了采用上述传统方式所存在的问题。

1 SQL触发器介绍

1.1 SQL触发器的种类

SQL Server 2000 支持两种类型的触发器:AFTER 触发器和INSTEAD OF 触发器[1]。

AFTER 触发器只有执行某一操作(INSERT、UPDATE、DELETE)之后,触发器才被激活,且只能在表上定义。对于AFTER 触发器,可以为针对表的同一操作定义多个触发器,并定义哪一个触发器被最先触发,哪一个被最后触发。通常,AFTER 触发器用于监视发生在数据库表格里的数据变化,如果该语句因错误(比如违反约束或语法错误)而失败,触发器将不会被执行。

INSTEAD OF 触发器并不执行其所定义的操作(INSERT、UPDATE、DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF 触发器,也可以在视图上定义INSTEAD OF 触发器,但对同一操作只能定义一个INSTEAD OF 触发器。

1.2 SQL触发器的工作原理

触发器是一种特殊的存储过程,其与一般的存储过程最大的区别是:一般的存储过程可以被用户直接调用,而触发器不能被用户直接调用。触发器通常是事务的一部分,一旦执行过程的任何部分失败,数据库将通过T-SQL语言的ROLLBACK TRANSACTION语句回滚,将所做的一切复原,能够有效确保数据的完整性[1]。

数据库为触发器创建两个由系统维护的逻辑表:Deleted和Inserted表,它们不是存放在数据库中,而是存放在内存中,并且不能被用户直接修改,其结构与被触发器作用的表的结构相同。Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行,Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行,其中Update是先执行Delete操作然后再执行Insert操作[2-3]。SQL Server 2000的两种触发器及触发器中的两个虚拟表是SQL Server中强制业务规则的有力工具[4]。

触发器是基于一个表而创建的,却可以同时对多个表进行操作,以实现更为复杂的业务逻辑。它可以级联修改数据库中相关的表;可以执行比检查约束更为复杂的约束操作;拒绝或回滚违反了引用完整性的操作;比较表修改前后数据之间的差别,并根据差别采取相应的操作。

2 利用SQL触发器进行实时传输

触发器的作用是在发生某种数据库事件时,自动完成一些动作[5]。可以将其类比为编程语言中的事件函数[6]。如果希望在某个操作之后系统可以自动根据条件去执行某种行为,就可以用触发器来实现。合理的触发器设计既可以保护表中的数据,使数据表更加安全,又可以减少前台功能代码编写量,具有事半功倍的效果。可以利用触发器的这个特点设计一种巧妙的方式,使得对数据实时传输的处理变得简单。

2.1 信息定位表

设计PositionTable表,该表的作用是保存数据表发生变化时所影响的行的定位信息,其结构如表1所示。

其中:Id列是标识列,标识自增量为1;TableName是被触发器作用表的表名;SerialName是该表的主键字段名;Serialno是主键字段值;OpType是触发器被触发时,对该表进行的操作类型:1表示Insert,2表示Update,3表示Delete。

2.2 基于T-SQL语言的触发器设计

分析连锁加油站管理系统数据实时传输功能的需求,由于是在数据表发生变化时才进行保存所影响的行的定位信息的操作,因此选用AFTER触发器。

当对数据表进行插入(Insert)、更新(Update)、删除(Delete)操作时,触发器在后台被自动调用执行,将作表发生变化时所影响的行的定位信息写入PositionTable表中,触发器的主体设计如下:

createtriggertr_被触发器作用的表名 on[dbo].[ 被触发器作用的表名]

afterinsert,delete,update

as

setnocounton

declare@OpTypeint--1:insert,2:update,3:delete

set@OpType=2--默认为update

ifnotexists(select1frominserted)set@OpType=3

ifnotexists(select1fromdeleted)set@OpType=1

declare@Transbit

if@@TRANCOUNT>0

set@Trans=1--返回当前连接的活动事务数

else

set@Trans=0

declare @TempSerialno nchar(30)

declare @TableName nchar(30)

declare @SerialName nchar(30)

set @TableName='被触发器作用的表名'

set @SerialName='主键字段名'

if ((@OpType=1 or @OpType=2) and @Trans=1)--insert和update

begin

declare cursor1 cursor for

select主键字段名from inserted

open cursor1

fetch next from cursor1 into @TempSerialno

while @@fetch_status=0

begin

insert into PositionTable(TableName,SerialName,Serialno,OpType)

values( @TableName,@SerialName,@TempSerialno,@OpType)

fetch next from cursor1 into @TempSerialno

end

close cursor1

deallocate cursor1

end

if (@OpType=3 and @Trans=1)--delete删除

begin

declare cursor1 cursor for

select主键字段名from deleted

open cursor1

fetch next from cursor1 into @TempSerialno

while @@fetch_status=0

begin

insert into PositionTable(TableName,SerialName,Serialno,OpType)

values( @TableName,@SerialName,@TempSerialno,@OpType)

fetch next from cursor1 into @TempSerialno

end

close cursor1

deallocate cursor1

end

事实上,在对数据表执行插入(Insert)、更新(Update)、删除(Delete)操作之后,可分别为其编写插入触发器、更新触发器、删除触发器[7],但由于要实现的功能类似,都是往PositionTable表中写定位信息,因此将其写在一个触发器中,若实现的功能不同,则可分别写在三个触发器中,以适应实际应用的需要。

以上触发器的功能已通过系统的阶段测试和集成测试,符合预定的业务规则,运行稳定。

2.3 数据实时上传线程的设计

管理系统启动后,开启新线程定时查询PositionTable表中有无记录,若有则根据定位信息提取出对应表中的记录,将获取的记录与定位信息一起写入文本文件并打包,然后通过网络通信模块发送到管理中心,管理中心对数据包解压后读取数据并根据定位信息导入管理中心数据库对应的表中,主要流程如图2所示。

值得注意的是,由于在数据实时传输的过程中,加油数据依然源源不断地被系统采集并写入数据库,所以此时PositionTable表中也有新的记录写入,因此,为了区分信息定位表中原有的记录和新写入的记录,在前端代码中使用了一个int型的数组nId[]来保存已经写入文本文件的定位信息的Id号,当上传成功后,遍历该数组,将PositionTable表中对应的记录删除,即将原有的记录删除,而新写入的记录则在下次定时时间到后得到处理。

这里用到了多线程与网络通信技术,但其不是本文讨论的重点,如有需要请查阅相关资料。

3 结束语

在系统的开发过程中,上述触发器所实现的功能完全可以借助编程工具通过前端代码来实现,但与之相比,采取触发器的方式具有以下几方面的优势:

1)不必为需要上传的表添加bool型的标记字段来记录该行是否已上传,即不需要改变作表的结构,PositionTable表中保存了未上传记录的定位信息,即使网络出现故障,这些信息也不会丢失,待网络恢复正常后,系统立刻将数据上传;

2)易于新增需要上传的数据表,无需重新编写前端代码,只需为新增的表编写对应的触发器即可,使系统功能的扩展变得十分简便;

3)使得前端代码的编写能够集中在一个较小的范围之内,并且有效减少了代码的编写量,有利于程序的升级与维护。

触发器的使用让数据上传部分的整个设计变得简洁而高效,系统的可扩展性和可维护性均得到提高。虽然触发器能够提高系统的开发效率,但是也不要过多使用,并且不要将触发器设计得过于复杂,否则不但起不到预期的效果,反而会造成数据库和应用程序维护困难。

本文所提到的利用触发器进行数据实时传输的方式已经应用在连锁加油站管理系统中,该系统已被某加油集团安装使用。

参考文献:

[1] 刘卫宏.SQL Server 2000实用教程[M].北京:科学出版社,2003.

[2] 程志梅,邱霞明,王晓燕.SQL Server2000数据库中触发器的妙用[J].计算机应用与软件,2009(3).

[3] 金玉明.SQL Server中触发器的应用[J].电脑知识与技术,2005(35).

[4] 刘俊姝.浅谈SQL-SERVER数据库中的游标、存储过程和触发器[J].计算机与信息技术,2005(9).

[5] Elmasri R,Navathe S B.数据库系统基础[M].邵佩英,徐俊刚,王文杰,译.5版.北京:人民邮电出版社,2008:61-75.

[6] 陈琴.SQL触发器的应用[J].电脑知识与技术,2010(35).

传输器篇10

论文关键词:存储测试,数据传输

0引言

______________________