当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:给出了一种基于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所示。

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

图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所示。

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

图2  字节传输序列图

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

2控制系统软件设计

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

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

该通讯模块中的仪表地址可以在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的自动控制。

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

图5  人机界面图

3结论

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

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

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭