搜档网
当前位置:搜档网 › 用VB进行串口实时数据采集2

用VB进行串口实时数据采集2

用VB进行串口实时数据采集2
用VB进行串口实时数据采集2

----该仪表的串口数据通信协议是:数据传输速率为9600bps,1位开始位,8位数据位,1位停止位,无奇偶校验位。仪表每秒发送50帧检测数据,每帧数据由4个字节组成。第一个字节定义为二进制常数0F0H,是每帧数据开始的标志字节;后面连续2个字节为数据字节,采用压缩的BCD码编码方式,高位在前,低位在后,即一个字节表示两位十进制数,则两个字节表示四位十进制数,小数点采用固定形式,定义在两字节中间;第四个字节为符号字节,该字节第八位为1,即:----则为负数;第八位为0,即:----则为正数。

----例如:0F0H 26H 87H 80H 0F0H 34H 62H 00H 表示-26.87 34.62。

----通信传输速率为9600bps,则最快速度1.04ms发送一个字节,仪表每秒发送50帧数据,每帧数据有4个字节,即每秒发送200个字节,平均5.0ms 发送一个字节,连续读取串口数据时要在程序中添加循环等待程序。

----为了实现实时监测功能,接收数据的读取要尽可能的快速,则设置MSComm1的属性如下:

RThreshold = 1

接收缓冲区收到一个字节产生OnComm事件

InputLen = 1 每次读取一个字节

----仪表每秒发送50帧数据,微机收到一帧完整数据至少需要20 ms时间,然后再进行数据处理。如果微机在下一帧数据接收前即20ms内能将数据计算处理完毕,则接收缓冲区内只会保存有一帧数据,不会存有两帧以上数据,接收缓冲区的大小不会影响实时监测效果(接收缓冲区>4字节),这时完全可以实现实时监测或实时控制;如果微机在20ms内不能将数据计算处理完毕,接收缓冲区设置得又很大,在数据计算处理完毕前,接收缓冲区内就会保存有两帧以上数据,而且一次工作时间越长,缓冲区内滞留数据帧就越多,数据采集和数据处理之间产生逐渐增大的额外时间差,当接收缓冲区充满后,时间差不再增大,固定在某一值,部分数据因不能及时采集到接收缓冲区中,数据产生丢失现象,真实工作情况就会和微机处理结果产生较大的时间差,对实时监测和实时控制很不利,这种情况下接收缓冲区的大小就会影响实时监测效果,所以接收缓冲区设置不能过大,以保证数据处理的实时性。

----设置接收数据模式采用二进制形式,即InputMode=comInputModeBinary,但用Input属性读取数据时,不能直接赋值给Byte 类型变量,只能通过先赋值给一个Variant 类型变量,返回一个二进制数据的数组,再转换保存到Byte类型数变量中。

----VB中有Byte类型变量,但没有字节的位处理语句,符号字节的位处理要判断符号字节的值是否大于127,大于127则为负数;压缩的BCD码存入Byte类型变量,VB系统只按十进制数处理,这要通过一个简单算法换算,解压BCD码才能还原成十进制表示数值。假如a是Byte类型变量,D是Single类型变量,将一个压缩的BCD 码存入a中,则算法是:

D=(a\16)*10 +a-(a\16)*16

则D=a-(a\16)*6

----程序清单:

----在通用声明中定义程序所用变量:

Dim ab(4) As Byte

‘字节数据类型数组,用来存储接收到的一组字节数据

Dim av As Variant ‘用来从接收缓冲区读取数据

Dim i As Integer

Dim j As Integer

Dim w As Integer ‘接收数据个数计数器

Dim b1 As Single

Dim b2 As Single

Dim WW As Single ‘十进制检测值

Dim MaxW As Single ‘最大值

Dim MinW As Single ‘最小值

----在窗体中添加名为Command1的[开始]按钮和名为MSComm1的MSComm控件。

---- [开始]按钮的Click事件处理程序主要是对MSComm1控制的参数初始化设置,程序中大部分参数在设计时可在MSComm1控制的属性窗口中设置:

Private Sub Command1_Click()

‘开始按钮

With MSComm1

.CommPort=2 ‘使用COM2

.Setting=“9600,N,8,1" ‘设置通信口参数

.InBufferSize=40

‘设置MSComm1接收缓冲区为40字节

.OutBufferSize=2

‘设置MSComm1发送缓冲区为2字节

.InputMode = comInputModeBinary

‘设置接收数据模式为二进制形式

.InputLen = 1

‘设置Input 一次从接收缓冲读取字节数为1

.SThreshold = 1

‘设置Output 一次从发送缓冲读取字节数为1

.InBufferCount = 0 ‘清除接收缓冲区

.OutBufferCount = 0 ‘清除发送缓冲区

MaxW = -99

‘最大值赋初值

MinW = 99 ‘最小值赋初值

w = 0

‘数据个数计数器清零

.RThreshold = 1

‘设置接收一个字节产生OnComm事件

If .PortOpen = False Then

‘判断通信口是否打开

.PortOpen = True ‘打开通信口

If Err Then ‘错误处理

MsgBox “串口通信无效"

Exit Sub

End If

End If

End With

End Sub

----为了达到实时数据采集目的,实时数据采集处理程序采用MSComm事件驱动方式。

----MSComm1_OnComm的事件处理程序只处理comEvReceive事件,首先判断帧数据的开始字节,关闭OnComm接收事件,然后接收数据字节,将压缩BCD进行还原转换,再接收符号字节,判断数据符号,判断数据最大最小值,最后打开OnComm接收事件,等待下一次OnComm事件产生:

Private Sub MSComm1_OnComm()

With MSComm1

Select Case .CommEvent

‘判断MSComm1通信事件

Case comEvReceive

‘收到Rthreshold个字节产生的接收事件

av = .Input

‘读取一个接收字节

ab(1) = av(0)

‘转换保存到字节数据类型数组

If ab(1) = &HF0 Then

‘判断是否为数据开始标志

RThreshold = 0

‘关闭OnComm事件接收

Do

DoEvents

Loop Until .InBufferCount >= 3

‘循环等待MSComm1接收缓冲区>=3个字节

w = w +1 ‘计数器累加计数

av = .Input

‘读取第二个数据字节(BCD码高位字节)

ab(2) = av(0)

‘转换保存到字节数据类型数组

av = .Input

‘读取第三个数据字节(BCD码低位字节)

ab(3) = av(0)

‘转换保存到字节数据类型数组

av = .Input

‘读取第四个数据字节(符号位字节)

ab(4) = av(0)

‘转换保存到字节数据类型数组

b1 = ab(2) -6 *(ab(2)\16)

‘高位字节压缩BCD码转换为实数

b2 = ab(3) -6 *(ab(3)\16)

‘低位字节压缩BCD码转换为实数

WW = b1 +b2 / 100

‘数值组合,标定小数点

If ab(4) > 127 Then WW= WW

‘判断数据符号位

Label1(0) = Format(WW, “0.00")

‘显示毫米单位数值,2位小数

Label1(1) =For mat(WW /25.4, “0.000")

‘显示英寸单位数值,3位小数

If WW > MaxW And WW < 51 Then

----‘判断最大值,仪表在刚开始工作时有干扰,会传导一些乱码,位移传感器有参数偏差,最大值一般都略大于50毫米,所以取51为极限最大值,取-51为极限最小值。

MaxW = WW

Label1(2) = Format(MaxW, “0.00")

‘显示毫米单位最大值,2位小数

Label1(3) = Format(MaxW/25.4,“0.000")

‘显示英寸单位最大值,3位小数

End If

If WW < MinW And WW > -51 Then

‘判断最小值

MinW = WW

Label1(4) = Format(MinW, “0.00")

‘显示毫米单位最小值,2位小数

Label1(5) = Format(MinW/25.4,“0.000")

‘显示英寸单位最小值,3位小数

End If

.RThreshold = 1

‘打开MSComm1事件接收

End If

Case Else

End Select

End With

End Sub

信息采集系统解决方案

信息采集系统解决方案

信息采集系统解决方案 1系统概述 信息采集是信息服务的基础,为信息处理和发布工作提供数据来源支持。信息数据来源的丰富性、准确性、实时性、覆盖度等指标是信息服务的关键一环,对信息服务质量的影响至关重要。针对交通流信息数据,包括流量、速度、密度等,目前主要是基于微波、视频、地磁等固定车辆检测器以及浮动车等移动式车辆检测器进行采集,各种采集方式都存在响应的利弊。针对车驾管以及出入境数据,包括车辆信息、驾驶人信息、出入境办证进度信息等,主要是通过和公安相关的数据库进行对接,此类信息将在信息分析处理系统进行详细介绍。 针对目前交通信息来源的多样性以及今后服务质量水平发展对信息来源种类扩展要求,需要建设一套统一的,具备良好兼容性和前瞻性的交通信息统一接入接口。一方面,本期项目的各种交通信息来源可以使用该接口进行数据接入,另一方面,当新的或第三方的交通信息来源需要加入到本系统中来时,可以使用该接口进行数据接入,不需要再次投入资源进行额外开发。 统一接入接口建成后,根据各种数据来源系统的网络环境、系统技术特性和交通流信息数据特点,开发相应的交通信息数据对接程序,逐一完成微波采集系统、浮动车分析系统、人工采集等来源的交通信息数据采集接入。 2系统架构及功能介绍 2.1统一接入接口 统一接入接口的建设的关键任务包括接口技术规范制定、路网路段编码规则约定及交通信息数据结构约定等多个方面。

2.1.1接口技术规范 一方面由于本系统接入的交通信息数据来源多样,开发语言和系统运行的环境均存在差异,不具备统一的技术特性;另一方面,考虑到以后可能需要接入更多新的或第三方的信息系统作为数据来源,应当选择较成熟和通用的接口实现技术作为本项目的交通流信息采集统一接入接口实现技术。 根据目前信息系统建设的行业现状,选择Web Service和TCP/UDP Socket 作为数据传输接口的实现技术是较优的选择。Web Service和TCP/UDP Socket 具有实时性强、通用性强、应用广泛、技术支持资源丰富等优势,可以实现跨硬件平台、跨操作系统、跨开发语言的数据传输和信息交换。 项目实施时需要根据现有的信息采集系统的技术特点来具体分析,以选定采用Web Service或TCP/UDP Socket作为接口实现技术,必要时可以两种方式并举,提供高兼容度的接口形式。 为了保护接入接口及其数据传输的安全性,避免恶意攻击访问,避免恶意数据窃取,可以使用身份认证、加密传输等技术来加以保证。 统一数据采集接口的工作流程可以如下进行:

virtex6GTX高速串行传输原理与仿真_李坤

- 63 - virtex-6 GTX 高速串行传输原理与仿真 李 坤 朱 红 (电子科技大学,四川 成都 611731) 【摘 要】virtex-6 GTX 是xilinx 公司新近推出的一款具有通用性,易用性,低功耗,低成本特性的高速串行收发器。在ISE 环境中对该模块进行了仿真,仿真结果证明了GTX 能够实现数据的高速串行传输。 【关键词】GTX;virtex-6;FPGA;串行传输 【中图分类号】TP391.9 【文献标识码】A 【文章编号】1008-1151(2010)10-0063-02 在系统级互连设备中,高速串行I/O 技术迅速取代传统的并行I/O 技术正成为业界趋势,高速串行I/O 技术拥有比 并行I/O 技术更高的性能,更少的引脚,更低的成本和更简 化的设计。 随着大规模集成电路的发展,高速串行I/O 技术在军事, 医疗,网络,视频,通信等领域有着广泛的应用,对电子行 业的发展前景而言,对于电子行业发展前景而言,高速串行 I/O 至关重要,下面是采用千兆位级高速串行I/O 技术的行业 标准示例。 光纤通道 PCI Express RapidIO 串行 串行ATA 1Gb 以太网 10-Gb 以太网(xaui) CPRI (一)Virtex-6 GTX 收发器简介 Virtex-6 FPGA GTX 收发器采用与业经验证的 Virtex-5 FPGA GTX 收发器相同的架构,同时在某些关键方面进行增强和增补。GTX 收发器的数据传输速率为150Mbps-6.5Gbps,侧重于性能和易用性的提高,旨在满足严格的 CEI-6 抖动规范要求。该收发器针对出色的信号完整性进行了优化,集成了判定反馈均衡器(DFE),此外还支持线性 EQ 和发送器预加重。GTX 收发器在时钟方面提供了极大的灵活性,能够支持发送器和接收器之间的独立数据速度。GTX 集成了 64b/66b 和 64b/67b 变速箱,可简化高线速设计,从而在设计实施过程中减少成千上万个逻辑单元。 Virtex-6 FPGA GTX 收发器具有功耗低,效率高,且集成度高,通过软件可重配性强,如下所示的优点使其具有广泛的应用: 1.CML(电流模式逻辑)串行驱动/具有可配置终端的缓冲器。 2.可编程的发送端预加/去重技术,接收端的均衡技术和线性反馈均衡(DFE)技术,能保持信号的完整性。 3.支持从750Mb/s 到 6.6Gb/s 的线速率。且线速率在150Mb/s 到150Mb/s 时可以根据需要选择5倍过采样。 4.内部支持PCS 的多种特性:8b/10b 编解码,comma 对 齐,信道绑定和时钟纠正。 (二)Virtex-6 GTX 收发器工作原理 图1为 Virtex-6 GTX 收发器发送和接收结构框图,由图可知,在发送端,来自FPGA 的并行数据在时钟的作用下,经过线路编码(可选)被写入发送串行器,再转换为差分传行串行数据发送出去。 在接收端,来自差分输入端的高速串行数据经过时钟数据恢复模块,可产生恢复时钟,转换后的并行数据经过不一致性检测,comma 码检测和排列后到达线路译码器(可选,与发送端一致),最后经过RX 弹性缓存器FPGA 逻辑。 图1 GTX 收发器结构框图 由图1可知:GTX 收发器主要由以下几个模块组成 1.模拟前端 在模拟前端GTX 主要采用了两种关键技术保证了GTX 高速串行通信的可靠运行,他们是预加重/去重技术和均衡技术预加重技术主要应用于发送器部分是在电平转变开始前有意过量驱动,预加重技术能够很好的解决码间干扰的问题。GTX 收发器的预加重比例可以通过软件加以调节。均衡技术主要在接收器部分使用,使用均衡技术能够补偿由频率不同引起的阻抗衰减差异。 2.串行器和解串器 串行器:将速率为y 的n 位宽的并行数据转换为速率为n x y 的串行数据 解串器:将速率为n x y 的串行数据转换为速率为y 的n 位宽的并行数据 3.Rx 接收对齐 将接收到得数据对齐到合适的边界,可以使用不同的方法,从自动检测和对齐特殊的预留比特序列(通常称为comma 字符),到用户控制的比特调整线路编码器。 【收稿日期】2010-06-28 【作者简介】李坤(1986-),男,四川南充人,电子科技大学在读生,研究方向为信号处理、智能天线技术、FPGA;朱红,女,电子科技大学副教授,研究方向为嵌入式、FPGA。

激光雷达高速数据采集系统解决方案

激光雷达高速数据采集系统解决方案 0、引言 1、 当雷达探测到目标后, 可从回波中提取有关信息,如实现对目标的距离和空间角度定位,并由其距离和角度随时间变化的规律中得到目标位置的变化率,由此对目标实现跟踪; 雷达的测量如果能在一维或多维上有足够的分辨力, 则可得到目标尺寸和形状的信息; 采用不同的极化方法,可测量目标形状的对称性。雷达还可测定目标的表面粗糙度及介电特性等。接下来坤驰科技将为您具体介绍一下激光雷达在数据采集方面的研究。 1、雷达原理 目标标记: 目标在空间、陆地或海面上的位置, 可以用多种坐标系来表示。在雷达应用中, 测定目标坐标常采用极(球)坐标系统, 如图1.1所示。图中, 空间任一目标P所在位置可用下列三个坐标确定: 1、目标的斜距R; 2、方位角α;仰角β。 如需要知道目标的高度和水平距离, 那么利用圆柱坐标系统就比较方便。在这种系统中, 目标的位置由以下三个坐标来确定: 水平距离D,方位角α,高度H。 图1.1 用极(球)坐标系统表示目标位置

系统原理: 由雷达发射机产生的电磁能, 经收发开关后传输给天线, 再由天线将此电磁能定向辐射于大气中。电磁能在大气中以光速传播, 如果目标恰好位于定向天线的波束内, 则它将要截取一部分电磁能。目标将被截取的电磁能向各方向散射, 其中部分散射的能量朝向雷达接收方向。雷达天线搜集到这部分散射的电磁波后, 就经传输线和收发开关馈给接收机。接收机将这微弱信号放大并经信号处理后即可获取所需信息, 并将结果送至终端显示。 图1.2 雷达系统原理图 测量方法 1).目标斜距的测量 雷达工作时, 发射机经天线向空间发射一串重复周期一定的高频脉冲。如果在电磁波传播的途径上有目标存在, 那么雷达就可以接收到由目标反射回来的回波。由于回波信号往返于雷达与目标之间, 它将滞后于发射脉冲一个时间tr, 如图1.3所示。 我们知道电磁波的能量是以光速传播的, 设目标的距离为 R, 则传播的距离等于光速乘上时间间隔, 即2R=ct r 或 2 r ct R

串行口的模拟仿真

10.4.6 串行口的模拟仿真 利用模拟仿真,可以模拟单片机同机发送和接收程序。 例10-7串口采用查询方式,把从片内RAM的30H单元开始的8个数据串行发送到片内RAM的40H开始的单元。 程序清单: ORG 0000H MOV SCON,#90H ;串口工作方式2,允许接收 MOV PCON,#00H ;SMOD=0 M0V R0,#30H ;源字符串首地址 MOV R1,#40H ;接收字符串首地址 MOV R2,#08H ;字符串长度 LOOP:MOV A,@R0 ;取数据 MOV SBUF,A ;发送 JNB TI,$ ;等待发送完一帧字符 CLR TI ;清发送标志位 INC R0 ;修改地址 JNB RI,$ ;等待接收完一帧字符 CLR RI ;清接收标志位 MOV A.SBUF ;接收字符 M0V @R1,A ;存数据 INC R1 DJNZ R2,LOOP ;传送8个数据 END 模拟仿真步骤如下: ①启动Medwin仿真软件,在编辑窗口中输入例10-7中的程序,单击“产生代码并装入”快捷键,编译/连接程序,打开菜单“外围部件→串行口”,把串口状态窗口调入屏幕,如图10-23 所示。

图10-23 串口模式 ②打开菜单“查看→数据区Data”,调入数据区窗口,单击列数,选择存储器排列为8列,从30H单元开始,输入8个数据。 ③打开菜单“窗口→纵向平铺窗口”,使寄存器窗口、数据窗口、程序窗口纵向平铺。 ④按F8键单步运行程序,则程序运行在JNB TI,$处,等待一帧字符发送结束。可人工设定发送结束标志,即在图10-23的中断标志复选框TI前画“√”,再按F8键,程序继续运行。 ⑤程序运行在JNB RI,$处,等待接收一帧字符结束。可人工设定接收结束标志,即在图10-23的中断标志复选框RI前画“√”,再按F8键,程序继续运行,则一帧字符装入40H开始单元。 ⑥重复上述步骤,直至全部数据传送完。

VB6.0串口操作

VB6.0串口操作 职业2010-12-22 11:30:58 阅读60 评论0 字号:大中小订阅 一直想通过计算机人机界面来控制单片机,感觉用软件控制硬件,即计算机控制是一件比较有意思的事情。 计算机与单片机的连接,是通过串口来实现的。如何实现,我想应该明白VB怎样来操作串口,实现VB 操作串口,就可以把单片机串口线接入计算机,从而实现真正的计算机控制单片机。 这其他是别人早已实现了的,我因为是刚接触,就写下来留作纪念吧。。。 开发软件:Visual Basic 6.0企业版(VB6) 新建一个工程:标准EXE。 接下来做Form界面。 代码: Private Sub Combo1_Click() If MSComm1.PortOpen = True Then '如果串口打开先关闭后再进行其他操作 MSComm1.PortOpen = False End If https://www.sodocs.net/doc/d1663568.html,mPort = Combo1.ListIndex + 1 End Sub Private Sub Command1_Click() Dim Temp(0) As Byte Dim strBuff As String If Option3.Value = True Then '如果显示16进制发送则进行16进制处理,这里只发送一个Temp(0) = "&H" & Text1 MSComm1.Output = Temp '发送一个16进制 Else strBuff = Text1 End If

If MSComm1.PortOpen = False Then MsgBox "请打开串口" End If On Error GoTo uerror MSComm1.Output = strBuff uerror: End Sub Private Sub Command2_Click() On Error GoTo uerror '发现错误跳转到错误处理 If Command2.Caption = "关闭串口" Then MSComm1.PortOpen = False Command2.Caption = "打开串口" '按钮文字改变 Shape1.FillColor = &HFFFFC0 '灯颜色改变Else MSComm1.PortOpen = True Command2.Caption = "关闭串口" Shape1.FillColor = &HFF End If Exit Sub uerror: msg$ = "无效端口号" '错误显示 Title$ = "串口调试助手" x = MsgBox(msg$, 48, Title$) '48标示显示警告图标 End Sub Private Sub Command3_Click() Text2.Text = "" End Sub Private Sub Command4_Click() Text1.Text = "" End Sub Private Sub Form_Load() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False Else End If Combo1.AddItem "COM1" Combo1.AddItem "COM2" Combo1.AddItem "COM3"

工业实时数据库功能及案例介绍

工业实时数据库KingHistorian功能及案例 北京亚控科技发展有限公司

目录 一.工业库KingHistorian主要特性 (3) 1. 性能参数及对比 (3) 2. 变量数值与时间戳的高分辨率 (4) 3. 更加丰富的数据类型 (4) 4. 高效的数据压缩算法 (4) 5. 强大的计算引擎 (4) 6. 事务、复制、DML命令和版本跟踪 (4) 7. 功能强大可视化的管理和数据分析工具 (5) 8. 支持多个节点同时运行各种接口类型的数据源 (5) 9. 开放的数据访问接口 (5) 10. 开放的变成借口和开发工具包 (6) 11. 全面的本地化(国际化)语言支持和时区 (6) 12. 良好的安全性,提供严格的用户认证、权限管理和审计手段 (6) 13. 高可用性、高容错性(健壮性)和高可靠性,支持双机冗余配置 (6) 14. 良好的集成能力、伸缩性和可扩展性 (6) 15. 分布式客户机/服务器体系结构,跨越所有支持TCP/IP的网络 (6) 二.案例介绍 (6) 1. 煤矿企业综合自动化系统 (7) 2. 台湾中港泵站监控系统 (10) 3. 上海白龙港污水处理长污水处理系统 (14) 4. 奉贤排水运营中心远程监控系统 (15) 5. 三一重工实时数据库项目 (18) 6. 浙江盾安人工环境客户服务系统 (20) 7. 上海青草沙水原地工程5号沟部分 (23)

工业库KingHistorian主要特性 1)性能参数及对比?: 存储速度:每秒可存储(插入)超过300,000个输入值; 检索速度:单点检索每秒查询多达100,000条记录;并发检索每秒查询多达20,000条记录; 数据点数:单台服务器可最多存储1,000,000个数据点的历史数据; 数据容量:可以保存长达数月甚至数年的历史数据保存和归档,最长保存10年历史数据,数据文件占有的磁盘空间可高达几十TB; 并发客户:支持最多256个并发客户同时存储和检索实时及历史数据; 三一集团测试项目:测试数据60万点,数据量240亿条记录(客户半年的真实数据3万多点,207万条关系记录进行数据迁移,复制20份)。 ?数据迁移过程迅速、稳定,迁移数据完全正确,单采集器平均插入速度为158,736条/s,,工业 库平均插入速度为3,046,220条/s。 ?测试数据查询5万条记录,2秒以内完成;30万条记录,5秒以内完成;200万条记录,14秒 完成,1900万条记录,240秒完成。 ?并发测试300-500客户端,测试插入、查询,性能稳定。 与PI性能的对比: 2)变量数值与时间戳的高分辨率?: 时间戳分辨率:毫秒 整型变量:64位 模拟变量:双精度(64位) 3)更加丰富的数据类型?:

实时数据采集系统方案

实时数据采集系统项目解决方案

目录 1、背景 (2) 1. 1、引言 (2) 1.2、项目目标 (2) 2、应用系统体系结构 (3) 2.1、实时数据采集系统的原理构架 (3) 3、实时数据采集系统的主要功能….. .............................................................. .3 4、实时数据采集系统主要技术特征 (4) 4.1、数据传输方面 (5) 4.2、数据存储方面 (5) 4.3、历史数据 (5) 4.4、图形仿真技术 (5) 5、实时数据采集系统性能特征 (5) 5.1、数据具有实时性 (6) 5.2、数据具有稳定性 (6) 5.3、数据具有准确性 (6) 5.4、数据具有开放性 (6) 6、DCS及实时数据采集机连接说明 (6) 7、系统运行环境说明 (7) 7.1系统网络环境说明 (8) 7.2硬件环境说明 (8)

1、背景 1. 1、引言 随着国家大力推进走新型工业化道路,以信息化带动工业化,以工业化促进信息化。电力企业面临着日趋激烈的竞争。降低成本,提高生产效率,快速响应市场,是电力企业不断追求的目标。要实现上述目标,必须把企业经营生产中的各个环节,包括市场分析、经营决策、计划调度、过程监控、销售服务、资源管理等全部生产经营活动综合为一个有机的整体,实现综合信息集成,使企业在经营过程中保持柔性,因此,建立全厂统一的生产实时数据平台,就成了流程企业今后生产信息化的关键。 1.2、项目目标 “实时数据采集系统”是为生产过程进行实时综合优化服务信息系统提供数据基础。 企业信息化建设的关键问题是集成,即在获取生产流程所需全部信息的基础上,将分散的控制系统、生产调度系统和管理决策系统有机地 集成起来,不同业务和系统间能够实时的交换和共享数据。 ?建立统一的企业数据模型。 ?解决分期建设的不同应用系统、不同电厂之间彼此隔离、互不匹配、 互不共享的“信息孤岛”问题。 ?保证数据来源一致性,提高数据经过层层抽取之后的可信度。 ?汇总、分析和展示企业历史的业务数据。 ?企业管理层能够直接根据各个电厂的真实数据进行统计数据、分析 逐步钻取直到数据根源。 ?透明底层的数据,监督统计分析数据的准确性。

实际单片机与虚拟单片机串口通信proteus仿真

中国民航大学 单片机课程设计报告 题目:实际单片机与proteus中虚拟单片机串口通信仿真设计时间:2012年 9 月 13 日至 9 月 20 日 学院:航空自动化学院 专业名称:自动化 学号:101141237 姓名:赵起超 指导老师:黄建宇

目录 1绪论 (3) 2设计内容及要求 (3) 3串口通信原理 (3) 4设计思路 (4) 5设计框图 (4) 6硬件实现 (5) 7电路设计 (7) 7.1硬件设计 (7) 7.2软件配置 (8) 8程序设计 (12) 8.1设计思路 (12) 8.2硬件程序 (12) 8.3虚拟单片机程序............................ 错误!未定义书签。 9 PROTEUS仿真.................................... 错误!未定义书签。10总结........................................... 错误!未定义书签。参考文献. (26)

实际单片机与proteus中虚拟单片机串口通信仿真 1绪论 单片机与单片机或单片机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯,本课程设计则采用串行通信的方式进行proteus仿真。 2设计内容及要求 采用串行通讯的方式,用实际的单片机读取超声波测距模块的数据,然后通过串口与proteus中的虚拟单片机进行通信,将超声波测得的数据通过串口实时发送给proteus中的单片机,虚拟单片机将接收到的数据实时用lcd1602在proteus中仿真显示。设计中用到二个1602液晶屏,一个虚拟终端,实时监测发送与接受的数据,用来验证通信的数据是否正确。设计要求在测距周期尽可能短的情况下,同时保证数据传输误码率在0.2%以下。 3串口通信原理 所谓"串行通信"是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型的串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单

VB实现串口通讯

VB实现串口通讯 目前,Visual Basic (简称VB)已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB 支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB 应用程序中可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。 利用VB 提供的这些功能,我们可以有三种方法完成串口通信。一种是用VB 提供的具有强大功能的通信控件;另一种方法是调用WINDOWS API 函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/ 输出完成,该方法简便易行,但有一定的局限性。 一、利用通信控件(MSCOMM)完成串口通信 VB 提供了通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触发OnComm事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent 属性来了解通信的情况,进行收发数据的处理。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。 1、通信控件的事件及基本属性 (1)事件 OnComm:通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行处理。通过对CommEvent 属性的判断可知当前的通信错误和事件,分别对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。如:CommEvent = MSCOMM—EV—SEND 表示发送事件。这些信息可从VB 提供的常量文件CONSTANT. TXT中查出。 (2)属性 CommPort :设置通信控件与哪个串口相连接,设置并返回通信口号。 Setting :设置通信的信息格式,为字符型。顺序为:波特率、校验、数据位、停止位。 PortOpen :布尔型、开关通信口。 InputLen :从接收缓冲区读取字符个数。 Input ,Output :读取接收缓冲区或写入发送缓冲区字符。 以上五种属性对串口完成基本的设置和操作,下面的三种属性是描述如何利用VB 提供的事件驱动机制来实现通 信。 CommEvent :返回通信过程中产生的错误信息及事件,了解通信状况。

实时数据采集系统方案

实时数据采集系统方案
实时数据采集系统《项目解决方案》 实时数据采集系统 项目解决方案 0 实时数据采集系统《项目解决方案》 目录 1、背 景 ..................................................................... .................................... 2 1. 1、引 言 ..................................................................... ..................... 2 1(2、项目目 标 ..................................................................... ............. 2 2、应用系统体系结 构 ..................................................................... .............. 3 2.1、实时数据采集系统的原理构架…………………………………..3 、实时 数据采集系统的主要功 能….. ........................................................... .3 3 4、实时数据采集系统主要技术特 征 .............................................................. 4

4.1、数据传输方面……………………………………………………..5 4.2、数据存储方面……………………………………………………..5 4.3、历史数据…………………………………………………………...5 4.4、图形仿真技术……………………………………………………..5 5、实时 数据采集系统性能特 征 ...................................................................... 5 5.1、数据具有实时性…………………………………………………..6 5.2、数据具有稳定性…………………………………………………..6 5.3、 数据具有准确性…………………………………………………6 5.4、数据具有开放性…………………………………………………..6 6、DCS 及实时数据采集机连接说 明 ............................................................. 6 7、系 统运行环境说 明 ..................................................................... ................ 7 7.1 系统网络环境说明………………….……………………………....8 7.2 硬件环境说明……………………………………………………….8 1 实时数据采集系统《项目解决方案》 1、背景 1. 1、引言 随着国家大力推进走新型工业化道路,以信息化带动工业化,以工业化促进信 息化。电力企业面临着日趋激烈的竞争。降低成本,提高生产效率,快速响应市

VB6.0环境下基于USB的虚拟串口通讯实现

VB6.0环境下基于USB的虚拟串口通讯实现 摘要:以ftdi公司的ft232bl芯片为核心设计并实现了基于usb 接口的计算机与单片机之间的虚拟串口通讯。单片机采用philips 公司p89系列单片机,完成数据的存储。计算机在windows环境下利用mscomm通讯控件实现上位机与下位机之间的数据传输。在此提出了pc机对虚拟串口的自动识别方法,并提供了程序的源代码。实验结果表明,用虚拟串口实现计算机与单片机之间的usb通信,具有速度快,软件实现简单等优点。 关键词:vb6.0; usb口; ft232bl;虚拟串口 引言 数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接方便。传统的rs 232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于usb接口的数据传输系统能够较好地解决这些问题。目前,usb接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为pc机的标准接口。 本文中的数据传输系统采用了usb接口进行上位机与下位机之间的数据通讯。下位机采用philips 公司p89系列单片机,完成数据的存储。上位机通过vb6.0编程,实现上位机与下位机之间的数据传输。 1数据传输系统的总体设计

系统的硬件部分主要包括2部分:上位机端和下位机端。上位机采用pc机或笔记本电脑,操作系统为windows xp,实现上位机和下位机之间的数据传输、显示、处理、存储及查询功能。系统的下位机采用philips公司p89系列单片机,完成数据的存储。下位机为一个手持的数据存储仪,由usb转串口数据转换模块、ttl转rs 422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。上位机与下位机的连接利用pc机自带的usb接口,原理框图如图1所示。 图1数据传输系统原理框图把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。数据存储仪通过usb口与pc机连接,把所存数据传输到上位机,上位机对数据进行显示、处理及存储。系统采用ftdi公司的ft232bl芯片作为usb转串口模块,可以和单片机的内置串口直接连接,使单片机通过usb口和pc机通讯。芯片一方面可以接收从pc机发来的usb数据,并将其转换为串行i/o数据格式发送给单片机串口;另一方面可把单片机从串口发出的数据转换为usb的数据格式传回pc机。与其他usb接口芯片相比,用ft232bl芯片进行usb外设开发,只需熟悉单片机编程及简单的vc或vb 编程,而无需考虑固件设计以及驱动程序的编写,从而能大大缩短usb外设产品的开发周期。 2硬件电路设计 2.1ft232bl芯片简介

移动信息数据采集解决方案

移动数据采集解决方案 由于移动终端的携带方便,信号覆盖广,操作便捷等优势,使得移动终端已经成为生活必带随身用品,人们对其给予了越来越高的关注与期望。 企业和政府依托移动终端,采用无线数据传输技术、定位技术、通过事件分类编码体系、地理编码体系,形成科学的数据采集和更新机制,完成对流程、管理问题的表单、图像、声音和位置信息实时传递,实现精确、快捷、高效、可视化、全时段、全方位覆盖的管理模式,实现应用与管理方式的多样化。 一、移动终端应用分析 传统的数据采集方式的问题: 依赖于纸质表格和手工填报,之后输入至相关的计算机系统。这样的操作方式存在很多问题,如手段单一、数据传递不及时、无法确认数据采集的地理位置、时间等。 数据质量难以保证。 数据采集的过程无法监控。 大量繁杂的事后录入工作,不但增加了工作量,录入错误的几率也很高。

传统数据获取方式的问题: 要求复杂的数据交互,同时兼顾现场数据查询和数据录入。 需要固定场所、固定布局的企业和政府信息化建设。 人们需要在企业、政府的内网完成数据查询与阅览。而随时随地的获取所需信息至关重要。人们不可能将海量数据带在身边,尤其是当这些数据存储在内网的数据库中的时候。 二、数据采集解决方案 移动数据采集系统以移动终端为载体,结合2G/3G等移动通信网络,建立起一套可移动化的信息系统,通过将企业、政府的内部办公、业务系统扩展到移动终端的方式,帮助用户摆脱时间和空间的限制,使用户随时随地关联内网系统,获取所需任务与信息,按照标准化的工作流程,快速执行采集任务的填报工作,完成对文字、表单、图像、声音和位置信息的采集和实时传递,保证采集任务的快速构建和及时传输、摆脱地域性和网络资源设备的限制,实现精确、快捷、高效、可视化的数据采集模式。 通过整合移动数据采集、信息查询、第三方系统等,形成一套完备的移动应用平台,终端应用可完成数据录入、查询展示等功能,后台管理系统用于接收终端上报的采集数据、管理任务分类和派发、查看任务进展、信息反馈、数据统计、分析和展示以及工作监督等相关工作。

北邮电路综合实验报告——串行口数据传输的仿真及硬件实现

北京邮电大学 信息与通信工程学院 电路综合实验报告 串行口数据传输的仿真及硬件实现 姓名: 学号: 班内序号: 班级: 指导老师: 日期:2014年10月10日

摘要: 本实验模拟了现代数字逻辑电路中的数据传输过程。使用连续的代表0、1的高低电平作为数字信号,将该数字信号从输出端发送到接收端,并分别用串行、并行两种方式进行锁存,检测。本实验模拟了序列信号的发生装置、串并转换装置、串行并行两种方式的检测装置、锁存输出和控制电路,实现了一个简单的串行口数据传输模型。在此试验中,通过对常见芯片的组合实现功能,将一串由0、1组成的数字信号进行传输、转换、检测,使之显示在数码管上成为可读信息。并且,还实现了对此电路显示的控制,使数码管在满足条件的情况下才点亮。在实验中,还使用了Qua rtusⅡ对设计的电路进行了仿真模拟。 关键字: 数据传输、串并转换、数据检测、QuartusII Abstract: This experiment simulated data transfer in modern digital logic circuit. Digital signal was transferred from the output terminal to the receiving end, which was consisted of

continuous high or low level represent 0 and 1 as digital signal, and latch, test it through serial or parallel mode. Our experiment simulated the producing equipment of sequence signal, the signal conversion module, testing module of serial and parallel mode, latch output and control circuit. It implements a simple serial port data communication model. In the experiment, we use the combination of simple chips to realize the function that transport, transfer and test a sequence of the digital signal consisting of 0 and 1, and display it on LED Segment Displays. In addition, we realize the control of display. The LED Segment Displays works only in specific conditions. We also conduct simulations on QuartusⅡ. Keywords: Data transmission, String conversion, Data detection, Quartus II 目录 一、实验目的 (4)

VB串口通信详细讲解

VB串口通信 目前,Visual Basic (简称VB)已成为WINDOWS 系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的 程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB应用程序可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。 利用VB提供的这些功能,我们可以有三种方法完成串口通信。一种是用VB提供的具有强大功能的通信控件;另一种方法是调用WINDOWS API函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/输出完成,该方法简便易行,但有一定的局限性。 一、利用通信控件(MSCOMM)完成串口通信 VB提供了通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触 发On Comm 事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent属性来了解通信的情况,进行收发数据的处理。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。 1、通信控件的事件及基本属性 (1)事件 On Comm :通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行 处理。通过对CommEvent属性的判断可知当前的通信错误和事件,分别对每个CommEvent 值进行编程就完成了对各个错误和事件的处理。如:CommEvent = MSCOMM —EV—SEND表示发送事件。这些信息可从VB提供的常量文件CONSTANT. TXT中查出。

实时数据库之数据采集及全球DCS索引

实时数据库之数据采集及全球DCS索引 实时数据库(RTDB-Real Time DataBase)是数据库系统发展的一个分支,是数据库技术结合实时处理技术产生的。实时数据库系统是开发实时控制系统、数据采集系统、CIMS 系统等的支撑软件。在流程行业中,大量使用实时数据库系统进行控制系统监控,系统先进控制和优化控制,并为企业的生产管理和调度、数据分析、决策支持及远程在线浏览提供实时数据服务和多种数据管理功能。实时数据库已经成为企业信息化的基础数据平台。 实时数据库的一个重要特性就是实时性,包括数据实时性和事务实时性。数据实时性是现场IO数据的更新周期,作为实时数据库,不能不考虑数据实时性。一般数据的实时性主要受现场设备的制约,特别是对于一些比较老的系统而言,情况更是这样。事务实时性是指数据库对其事务处理的速度。它可以是事件触发方式或定时触发方式。事件触发是该事件一旦发生可以立刻获得调度,这类事件可以得到立即处理,但是比较消耗系统资源;而定时触发是在一定时间范围内获得调度权。作为一个完整的实时数据库,从系统的稳定性和实时性而言,必须同时提供两种调度方式。 针对不同行业不同类型的企业,实时数据库的数据来源方式也各不相同。总的来说数据的主要来源有DCS控制系统、由组态软件+PLC建立的控制系统、数据采集系统(SCADA)、关系数据库系统、直接连接硬件设备和通过人机界面人工录入的数据。根据采集的方式方法可以分为:支持OPC协议的标准OPC方式、支持DDE协议的标准DDE通讯方式、支持MODBUS 协议的标准MODBUS通信方式、通过ODBC协议的ODBC通信方式、通过API编写的专有通信方式、通过编写设备的专有协议驱动方式等等。 由于实时数据库主要是为大型企业服务的,大部分情况是采集DCS系统的数据,到目前为止全球主要的DCS系统列表如下: 序号 DCS类型生产厂家 1 S9000 HONEYWELL 2 TDC3000 - CM50 HONEYWELL US HONEYWELL 3 TDC3000 – 4 TDC3000X - UxS HONEYWELL 5 TDC3000X - AxM HONEYWELL 6 TDC2000 HONEYWELL 7 R150 HONEYWELL 8 PlantScape HONEYWELL 9 TPS - GUS HONEYWELL APP HONEYWELL - 10 TPS 11 UMC800 HONEYWELL Hc900 HONEYWELL 12 Plant Vista 13 PKS HONEYWELL 14 STARDOM横河(YOKOGAWA) 15 CENTUM B 横河(YOKOGAWA) V 横河(YOKOGAWA) 16 CENTUM 17 CENTUM uXL 横河(YOKOGAWA) XL 横河(YOKOGAWA) 18 CENTUM

VB串口控件固定帧格式通信编程实例-实时数据采集

1 / 9 VB MSComm控件进行串口实时数据采集txt 本文介绍V B6.0利用MSComm通信控件,开发微机通过串口对工业仪表进行实时数据采集的编程技术。给出的程序代码具有通用性,并有详细的注释,可以直接或稍加改动后用于其他数据采集或实时控制程序中。 一台工业专用实时检测仪表,接高精度位移传感器,用于测量微小形变或微量位移,仪表测量精度为 0.01毫米,测量范围最大值为50毫米。该仪表带有一个9针的RS-232C串口,能与微机进行串口数据通信,实时传送检测数据,通过微机软件处理可实现工业实时监控。 该仪表的串口数据通信协议是: 数据传输速率为9600bps,1位开始位,8位数据位,1位停止位,无奇偶校验位。仪表每秒发送50帧检测数据,每帧数据由4个字节组成。第一个字节定义为二进制常数0F0H,是每帧数据开始的标志字节;后面连续2个字节为数据字节,采用压缩的BCD 码编码方式,高位在前,低位在后,即一个字节表示两位十进制数,则两个字节表示四位十进制数,小数点采用固定形式,定义在两字节中间;第四个字节为符号字节,该字节第八位为1,即:1 x x x x x x x则为负数;第八位为0,即:0 x x x x x x x则为正数。例如:0F0H 26H 87H 80H0F0H 34H 62H 00H表示- 26.8734.62。

通信传输速率为9600bps,则最快速度 1.04ms发送一个字节,仪表每秒发送50帧数据,每帧数据有4个字节,即每秒发送200个字节,平均 5.0ms发送一个字节,连续读取串口数据时要在程序中添加循环等待程序。 2 / 9 为了实现实时监测功能,接收数据的读取要尽可能的快速,则设置MSComm1的属性如下: RThreshold = 1接收缓冲区收到一个字节产生OnComm事件InputLen = 1每次充接收缓冲区读取一个字节 仪表每秒发送50帧数据,微机收到一帧完整数据至少需要20 ms 时间,然后再进行数据处理。如果微机在下一帧数据接收前即20ms内能将数据计算处理完毕,则接收缓冲区内只会保存有一帧数据,不会存有两帧以上数据,接收缓冲区的大小不会影响实时监测效果(接收缓冲区>4字节),这时完全可以实现实时监测或实时控制;如果微机在20ms内不能将数据计算处理完毕,接收缓冲区设置得又很大,在数据计算处理完毕前,接收缓冲区内就会保存有两帧以上数据,而且一次工作时间越长,缓冲区内滞留数据帧就越多,数据采集和数据处理之间产生逐渐增大的额外时间差,当接收缓冲区充满后,时间差不再增大,固定在某一值,部分数据因不能及时采集到接收缓冲区中,数据产生丢失现象,真实工作情况就会和微机处理结果产生较大的时间差,对实时监

相关主题