网站首页  词典首页

请输入您要查询的论文:

 

标题 USB—4716模块的C#应用编程
范文

    马聪

    

    

    摘要:USB-4716是研华公司推出的通用数据采集,信号控制模块,性能强大,易上手,支持Labview,VB,VC++,C#等多种编程控制方式。该文结合工作实践介绍使用C#编程语言,Visual Studio开发平台,编写Windows图形界面风格Winform应用程序的一般步骤,方法和注意事项。

    关键词:USB4716;C#;Visual Studio;Winform

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)13-0084-02

    随着科技进步,测控系统在自动化系统中的应用越来越广泛,对于一个全新测控系统的研制开发,相比于以往完全重新搭建硬件平台来构建测控系统的设计思路,使用成熟硬件模块与通用软件设计平台更加高效省时,同时这种设计思路也得到越来越多研发人员的青睐。基于模块化设计思路,成熟的硬件平台以及通用软件设计语言的设计理念,本文将介绍一种快速测控系统的设计与实现。

    1 平台简介

    1.1 硬件平台

    1.1.1 USB-4716模块

    1)16个单端/8个差分或组合方式模拟量输入通道(ADC:analog to digital converter),16位精度,采样率可达200KS/s;

    2)2个模拟量输出通道(DAC:digital to analog converter);

    3)8个数字量输出通道(DO:digital output);

    4)8个数字量输入通道(DI:digital input);

    5)USB通信和供电/支持热插拔/LED指示灯/自动校准功能……

    1.1.2 电脑

    1) Window 2000/Windows XP/Windows 7操作系统;

    2) 安装Visual Studio 2005(VS)以上版本开发平台。

    1.2 软件平台

    VS是目前最流行的Windows平台应用程序的集成开发环境。C#是微软公司发布的一种面向对象的高级程序设计语言。

    2 软件功能块图

    系统分为3大部分,分别是电脑,USB-4716模块以及外设部分,电脑用来编写运行Winform程序,USB-4716是通用数据采集与控制模块,外设根据应用不同会有所差异。

    程序软件分为四大功能模块,如图1。

    3 详细软件设计

    软件开发流程依次为安装设备驱动,连接设备,打开VS,创建C# Winform应用程序,加载DLL,调用DLL方法编写程序等几个步骤。建议在连接设备之前先安装设备驱动,连接设备之后通过Windows设备管理器查看设备连接情况确保设备连接成功,这样安装会比较顺利。

    设备驱动中包含厂商开发的DLL动态链接库,一旦加载完成,程序开发过程中就可以非常方便的调用DLL中的方法函数完成输入输出控制。其中比较常用的控件有:BufferedAiCtrl控件提供连续模拟信号输入方法调用,可设置采样频率;BufferedAoCtrl控件提供连续模拟信号输出控制,可输出波形;InstantAiCtrl控件提供即时模拟输入方法调用;InstantAoCtrl控件提供即时模拟输出方法调用;InstantDiCtrl控件提供即时数字输入方法调用;InstantDoCtrl控件提供即时数字输出方法调用。

    3.1 ADC数据采集处理与显示

    点击Use Instant AI,选择即时ADC采样模式,点击开始采集一次ADC模拟数据。

    点击Use Buffered AI,选择连续采样模式,点击开始,按照设置的采样率连续采集ADC模拟数据,直至收到停止命令。

    3.2 DAC模拟量输出控制

    点击Use Instant AO,选择即时DAC输出模式,点击开始输出本次设置DAC电压值。

    点击Use Buffered AO,选择连续DAC输出模式,点击开始,按照设置的输出频率连续输出设置的DAC电压值,直至收到停止命令。

    3.3 数字量输出控制

    默认DO数字输出状态为低电平,点击DO端口地址图标,变为蓝色,输出状态更新为高电平输出。

    3.4 数字量输入采集与显示

    默认DI状态实时更新,在没有外接输入状态下,内部弱上拉配置DI输入为逻辑高电平,一旦接收到物理低电平,即更新显示状态为逻辑低电平。

    3.5 源代码示例

    以下是C#编写的ADC采样代码,在ADSampling方法中直接调用instantAiCtrl1.Read方法,实现任意通道ADC信号的单次读取,简单易用。

    public void ADSampling(int ADCChannel, ref double[] m_dataScaled)

    { if (instantAiCtrl1.Read(0, ADCChannel, m_dataScaled) != ErrorCode.Success) …… }

    4 结束语

    通过实际设计开发,我们发现使用标准数据采集与信号控制模块USB-4716,结合VS开发平台,C#编程语言,可以很方便地搭建数据采集与信号控制平台,极大地提高了工作效率,节约了设计开发时间。更重要的是,在更换测试需求后,可以通过简单更改外设配件以及代码移植实现全新测试功能。

    参考文献:

    [1] USB-4716 用户手册——研华科技,2010年2月第一版 [EB/OL].http://downloadt.advantech.com.cn/ProductFile/Downloadfile2/1-HU9ZV3/USB-4716_user_manual(CH)_ed.1.pdf.

    [2] Windows驱动程序DAQNavi_USB4716_3.2.6.0.exe——研华科技 [EB/OL]. (2015-10-08).http://support.advantech.com.cn/support/DownloadSRDetail_New.aspx?SR_ID=1-FCIIF6&Doc _Source=Download.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/21 20:21:37