当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:给出了一种基于PCI总线技术控制的仪表检测控制系统的设计方法。该系统以研华PCI1750作为I/O控制卡,并以研华PCI1601作为仪表监控数据采集通讯卡,同时通过VB6.0编写系统的上位机软件。实验结果表明,该系统可提升数据传输的实时,性,降低系统所需成本,从而实现设备管理的一体化。

引言

小型仪器仪表监控系统一般由控制器、数据采集模块、串口通讯模块以及工控机组成。但是,这种结构会存在设计结构复杂,系统灵活性较低的缺点。为了克服这些缺点,本文利用PCI总线技术,并结合研华公司所研制的两种PCI控制卡完成了这种小型系统的设计。其中PCI总线是先进的高性能局部总线,可同时支持多组外围设备,而不受制于处理器,为中央处理器及高速外围设备提供一座桥梁,更可作为显现之间的交通指挥员,提高数据吞吐量。PCI采用高度综合化的局部总线结构,可确保电脑部件、附加卡及系统之间的可靠运作,并能完全兼容现有的ISA/EISA/MicroChannel扩充总线。PCI总线与其他主流总线相比,具有速度更快、实时性更好和可控性更佳的优点,适用于高速实时的I/O控制卡。但由于PCI总线协议比较复杂,因此,其接口电路实现起来并不容易,而采用通用PCI接口芯片就能很好地解决这一问题虬

1控制系统设计方案

本设计采用PCI总线来构建硬件平台,通过PCI总线由PC机来控制系统的电磁阀,通过PCI1601通讯板卡将外置仪器仪表采集的设备温度、压力及流量等信息传送给PC机并进行相关数据处理。具体设计原理框图如图1所示。

图1  控制系统方案图

PCI1750

PCI1750是一款功能强大的PCI总线半长卡,能提供16路隔离数字量输入通道、16路隔离数字量输出通道以及一个带输入信号的隔离计数器/定时器。由于带有2500VDC隔离保护及支持干接点,PCI1750非常适合需要高电压保护的工业应用场所。PCI1750与PC机可以构成主从式控制结构,其中PC机负责人机交互界面的管理和控制系统的实时监控等方面的工作[2],PCI1750则完成对开关电磁阀或是逻辑控制类执行器的控制,依靠输出的数字脉冲信号来驱动相应回路的继电器,从而实现PC机通过PCI1750对开关电磁阀的逻辑控制。除了对开关电磁阀的简单逻辑控制外,用户可根据控制系统的要求调用PCI1750运动函数库中的指令函数,从而开发出满足要求而且成本低廉的逻辑控制系统。

本文利用PCI1750板卡实现了对开关电磁阀的控制,这种控制方法具有控制简单、点位利用率高等优点。

PCI1601

计算机通过PCI1601总线通讯接口卡与仪器仪表设备的传感器进行连接,进而控制电磁阀。PCI1601总线通讯接口卡可以支持RS-422、RS-485两种串行通讯接口标准,并采用Modbus规约RTU模式,可以方便地与多种组态软件相连接,其通讯驱动与ModiconModbus_RTU格式完全兼容。PCI1601板卡增加了“自动数据流控制”硬件,故可自动识别数据是“发送”还是“接收”,它不再支持“RTS握手信号”,这样就使RS-485通讯软件的开发与RS-232完全相同。板卡通过DIP拨码开关设置相应模式。RS-485的通信距离最远可达1200m,通信距离为15m时,波特率可达10Mb/s。在工业现场中,RS-485作为一种双线差分半双工的通信方法而广泛采用,具有很高的抗共模干扰能力,并可很好地适应现场的恶劣环境叫在数据传输过程中,其字节格式如图2所示。

图2  字节传输序列图

图2中,D0是字节的最低有效位,D7是字节的最高有效位。传输时,先传低位,后传高位。通讯时,数据以字(WORD一2字节)的形式回送,回送的每个字中,高字节在前,低字节在后。如果2个字连续回送(如浮点或长整形),则高字在前,低字在后。上位机发送的数据格式和仪表回送的数据包格式分别如表1和表2所歹n

2控制系统软件设计

本系统采用VB6.0作为上位机软件开发平台,其程序流程图如图3所示。编写上位机程序时,可利用ModBus规约来完成串口通讯部分的软件设计。

该通讯模块中的仪表地址可以在1〜247之间选择。仪器出厂时,一般的默认地址为1,而在实际使用中,则可以根据现场情况设定不同的通讯地址。

PCI1750与计算机的连接

通过下列函数可实现PCI-1750与PC机的连接,以使PC机能实现对输入输出的控制,并通过AdvDIOLWriteDoPorts(DOBuffer0,0,1)实现对DO的控制。其代码如下:

PrivateSubBtnSelectDevice_Click()

TimerLEnabled=False

AdvDIO1.SelectDevice

If(AdvDIO1.DeviceNumber>=0)ThentxtDeviceName.Text=AdvDIO1.DeviceNameEnableCommandControlsTrue

SetProperties

EnableButtonFrameOptDO.Value

Else

EnableCommandControlsFalse

EndIf

EndSub

2.2串口通讯的实现

实现串口通讯时,可在程序中插入MSComm控件,并配置串行端口参数;每当一组数据接收完毕后便激活1个OnComm()事件,在OnComm。消息处理函数中加入相应的数据处理算法,并做出相应的处理,如显示、控制等。其具体程序如下:

PrivateSubForm_Load()

Command1.Caption="打开串口"

MSComm2.Settings="9600,N,8,2"

MSComm2.InBufferSize=40

MSComm2.OutBufferSize=2

MSComm2.InputMode=comInputModeBinary

MSComm2.InBufferCount=0

MSComm2.OutBufferCount=0

MSComm2.RThreshold=1

EndSub

通过上列函数即可实现串口通讯的建立。通过下面的函数则可实现与现场实际仪表的通讯:

Dimdatal()AsByte'串口发送字节

ReDimdatal(7)

IfComm1=1Then

datal(0)=&H1

datal(1)=&H3

datal(2)=&HB

datal(3)=&HBA

datal(4)=&H0

datal(5)=&H10

datal(6)=&H67

datal(7)=&HC7

Comm1=2

GoTo1

EndIf

由于一个串口通常可以挂接好几个仪表,因此,程序中使用了GoTo函数。不同仪表可以编写不同的通讯命令,以便采集各仪表的数据。

2.3仪表采集数据的处理

由于上位机数据显示格式为十进制,而仪表传送到上位机的数据一般均为浮点数,因此,必须经过相应的计算将其转换为十进制数才能进行显示。图4所示是一种由双精度浮点数格式转换为十进制格式的方法,其转换公式为:

PCI总线技术在仪表检测控制系统中的应用

图4双精度浮点数格式的转换

其中,第63bit为符号位,该位为0表示正数,反之为负数,其读数值用S表示;第62~52bit共11幂数(2的幂数),其读数值可用E表示;第51~0bit共52位为系数,视为二进制纯小数,假定该小数的十进制值为尸;那么,转换后的十进制浮点数据则以FData表示。整个转换算法的具体代码如下:

IfLenB(StrConv(HDatal,vbFromUnicode))=74Then

IfComm1=1Then

Text1.Text=HDatal

sngTemp=0

lngTemp=CLng("&H"&Mid(HDatal,7,8))

CopyMemorysngTemp,lngTemp,4

Text2=Round((""&CStr(sngTemp))*3600,6)dblTemp=0

strHex=Mid(HDatal,63,8)&Mid(HDatal,55,8)

lngArray(1)=CLng("&H"&Right(strHex,8))

lngArray(0)=CLng("&H"&Left(strHex,Len(strHex)-8))CopyMemorydblTemp,lngArray(0),8

Text3=(CStr(dblTemp)*1000)

EndIf

EndIf

2.4人机界面总体效果

本系统的人机界面总体效果图如图5所示。从图5中可以看出,此界面能监视所有连接到上位机的仪表数据,并通过设定值与实际值的比较来实现阀1和阀2的自动控制。

图5  人机界面图

3结论

本文介绍了一种基于PCI总线技术的小型仪器仪表监控系统,该系统以PCI1601通讯接口卡作为通讯模块的核心设备。目前,该系统已经正式运行,应用效果良好,并具有可靠性好、集成度高、灵活性高等优点,可以大大缩短系统研制和开发周期,满足用户对小型仪器仪表监控系统的不同控制要求。

20210916_61435bf3f0bd9__PCI总线技术在仪表检测控制系统中的应用

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

随着科技的不断发展,人们对于现实世界的感知与体验方式也在不断地变革。其中,增强现实(AR)和虚拟现实(VR)技术作为近年来备受瞩目的新兴科技,正在改变我们与世界的交互方式。本文将详细探讨AR技术和VR技术的定义、应用以及...

关键字: AR技术 VR技术 虚拟现实

语音识别模块是一种基于嵌入式技术的模块,主要用于将人类语音中的词语转换成计算机可读的格式,实现与主芯片的通讯。该模块通常包括语音识别芯片和其他附属电路,使得开发者能够方便地将其嵌入到各种智能化产品中,实现人机语音交互。

关键字: 语音识别 嵌入式技术

语音识别系统是一种将人类的口头语言转化为可处理的文本或指令的技术,是人机交互、智能设备和现代通信技术中的重要组成部分。其构建涉及多个复杂而精密的模块,每个部分都承担着不同的功能以确保准确无误地理解并转化语音信息。

关键字: 语音识别 声学处理

语音识别技术,作为人工智能领域的重要分支,近年来取得了显著的进步。它能够将人类语音转化为计算机可理解的文本或指令,为人们的生活和工作带来了极大的便利。那么,语音识别技术究竟可以做什么呢?本文将从多个角度探讨其应用与价值。

关键字: 语音识别 智能家居

今天,小编将在这篇文章中为大家带来机器学习的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 机器学习 TensorFlow PyTorch

语音识别作为人工智能领域的一项关键技术,其发展与应用日益普及,广泛应用于智能设备、自动驾驶、智能家居、在线客服等多种场景。随着技术的进步,尤其是深度学习的崛起,语音识别的方法不断演进和完善

关键字: 语音识别

语音识别是一门多学科交叉技术,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。它的任务主要是将语音信号转换成对应的文字。为了实现这一目标,语音识别系统通常包括特征提取、声学模型、语...

关键字: 语音识别 特征提取

语音识别控制系统是一种通过语音识别技术对电子设备进行控制的系统。它主要包括语音输入器、语音识别器和控制器等部分。当语音输入器接收到操作者的语音后,语音识别器会对语音信号进行分析和处理,将其转换为计算机可读的文本或命令。然...

关键字: 语音识别 语音控制

随着科技日新月异的进步,语音识别技术已成为人工智能领域的一项核心突破。这项技术旨在模拟人类听觉系统,通过复杂算法和模式识别手段将连续或离散的语音信号转换为可理解的文本或指令信息。本文深入探讨了语音识别技术在多个领域的广泛...

关键字: 语音识别 人工智能

在当今大数据和人工智能时代,机器学习作为核心的技术驱动力,正以前所未有的速度改变着我们的生活和工作方式。从基础的数据分析到复杂的决策支持系统,机器学习模型的成功构建和应用离不开一套严谨的流程。本文将详尽阐述机器学习过程中...

关键字: 机器学习 人工智能
关闭
关闭