虚拟仪器的技术优势在于可由用户自己定义通用仪器系统,且功能灵活,很容易构建,应用面极其广泛。运用LabWindows/CVI开发环境设计了数据播放器。通过UDP通信,手动载入相应的ini文件及数据文件,通过ini文件完成网络通讯、数据变量、数据采样间隔、数据文件格式的配置,采用链表方式管理、维护数据帧的定义部分。可模拟真实采集过程将数据发送出去,可以读取不同类型的数据文件,做到了通用。通过实例验证了设计的实用性。
标签: LabWindows_CVI 数据播放器
上传时间: 2013-10-09
上传用户:钓鳌牧马
工程资源管理器 如何创建和使用 LabVIEW 中的 LLB 文件 如何使用 VI 的重入属性(Reentrant) 用户自定义控件中 Control, Type Def. 和 Strict Type Def. 的区别 调整控件和函数面板的首选项 在文件夹下直接创建新的 VI 图标编辑器上的鼠标双击技巧 第二章:简单程序结构 顺序结构 选择结构 事件结构 循环结构 定时结构 缓存重用结构 LabVIEW 中的泛型容器 第三章:控件、常量和运算 LabVIEW 中的数字型数据 1 - 控件和常量 LabVIEW 中的数字型数据 2 - 运算 LabVIEW 中的数字型数据 3 - 数值的单位 第四章:常用的程序结构 几种简单的测试程序流程模型 用 LabVIEW 编写 Wizard 类型的应用程序 1 (LabVIEW 6.1 之前) 用 LabVIEW 编写 Wizard 类型的应用程序 2 (LabVIEW 6.1 ~ 7.1) 用 LabVIEW 编写 Wizard 类型的应用程序 3 (LabVIEW 8.0) 用 LabVIEW 编写 Wizard 类型的应用程序 4 (LabVIEW 8.2 之后) 在 LabVIEW 中使用常量定义 多态 VI 全局变量 传引用 第五章:调试 LabVIEW 的调试环境 断点和探针 其它常用调试工具和方法 LabVIEW 代码中常见的错误 查看一段代码的运行时间 如何调试 LabVIEW 调用的 DLL 第六章:深入理解 LabVIEW G 语言 LabVIEW 是编译型语言还是解释型语言 数据流驱动的编程语言 传值和传引用 VI 中的数据空间 第七章:编写优美的代码 用户界面设计 1 用户界面设计 2 - 界面的一致性 用户界面设计 3 - 界面元素的关联 用户界面设计 4 - 帮助和反馈信息 Caption 和 Label 的书写规范 隐藏程序框图上的大个 Cluster 制作不规则图形的子VI图标 第八章:编写高效率的代码 LabVIEW 程序的内存优化 1 LabVIEW 程序的内存优化 2 - 子 VI 的优化 LabVIEW 程序中的线程 1 - LabVIEW 是自动多线程语言 LabVIEW 程序中的线程 2 - LabVIEW 的执行系统 LabVIEW 程序中的线程 3 - 线程的优先级 LabVIEW 程序中的线程 4 - 动态连接库函数的线程 LabVIEW 的运行效率 1 - 找到程序运行速度的瓶颈 LabVIEW 的运行效率 2 - 程序慢在哪里 LabVIEW 对多核 CPU 的支持 第九章:VI 服务 VI Server (VI 服务) 后台任务 在 LabVIEW 中实现 VI 的递归调用 VB script 打开一个VI 第十章:调用动态链接库 动态链接库导入工具 CLN 的配置选项 简单数据类型参数的设置 结构型参数的设置 作为函数返回值的字符串为什么不用在 VI 中先分配内存 LabVIEW 中对 C 语言指针的处理 调试 LabVIEW 调用的 DLL 第十一章:面向对象编程(LVOOP) 利用 LabVIEW 工程库实现面向对象编程 模块接口 API 的两种设计方案 LabVIEW 对面向对象的支持 面向对象与数据流驱动的结合 LabVIEW 中的类 第十二章:XControl 一个 XControl 的实例 用 XControl 实现面向组件的编程 第十三章:项目管理
标签: LabVIEW
上传时间: 2013-11-01
上传用户:ruixue198909
提出一种基于自适应混沌粒子群优化和支持向量机结合的非线性预测建模算法(ACPSO-SVR),引入ACPSO启发式寻优机制对SVR模型的超参数进行自动选取,在超参数取值范围变化较大的情况下,效果明显优于网格式搜索算法。选取UCI机器学习数据库中的Forest fires标准数据集进行测试,实验结果表明该方法具有较高的精度和良好的泛化能力,对于解决多变量的回归预测问题是一种有效的方法。最后给出了混合算法在碳一多相催化领域的两种典型应用,在反应动力学模型未知的情况下建立催化剂组份模型和操作条件模型,以及基于混合算法的最优催化剂设计框架。
上传时间: 2013-10-23
上传用户:alibabamama
针对嵌入式软件的特点及其对调试技术的要求,在比较常用的一些动态调试方法基础上,提出了一种在线调试技术。在不影响系统运行环境和实时性要求的前提下,通过将数据临时保存在数组中,自动生成文件或在外部触发事件下生成文件的方式,实现对变量变化过程的动态跟踪,并给出了具体设计流程图。最后结合工程应用,通过对一类嵌套式数据丢包现象的排查过程,验证了本方法的有效性和实际应用价值。
上传时间: 2013-11-01
上传用户:mnacyf
为了解决实现的瓶颈,Vivado 工具采用层次化器件编辑器和布局规划器、速度提升 了3 至 15 倍且为 SystemVerilog 提供业界领先支持的逻辑综合工具、速度提升 了4 倍且确定性更高的布局布线引擎、以及通过分析技术可最小化时序、线长、路由拥堵等多个变量的“成本”函数。此外,增量式流程能让工程变更通知单 (ECO) 的任何修改只需对设计的一小部分进行重新实现就能快速处理,同时确保性能不受影响。 赛灵思vivado设计套件专题:http://www.elecfans.com/topic/tech/vivado/
标签: Integrator Final_IP vivado 视频
上传时间: 2013-10-12
上传用户:谁偷了我的麦兜
GDCM型绕线共模电感器 一 特征 绕线贴片结构,尺寸小 对高频共模噪声具有良好的抑制效果 良好的可焊接性和耐焊接性,无铅符合ROSE 二 用途 PC机及周边外设的USB接口、LCD的LVDS线 三 外观尺寸 四 规格命名
上传时间: 2013-11-14
上传用户:18752787361
12864液晶时钟显示程序 LCD 地址变量 ;**************变量的定义***************** RS BIT P2.0 ;LCD数据/命令选择端(H/L) RW BIT P2.1 ;LCD读/写选择端(H/L) EP BIT P2.2 ;LCD使能控制 PSB EQU P2.3 RST EQU P2.5 PRE BIT P1.4 ;调整键(K1) ADJ BIT P1.5 ;调整键(K2) COMDAT EQU P0 LED EQU P0.3 YEAR DATA 18H ;年,月,日变量 MONTH DATA 19H DATE DATA 1AH WEEK DATA 1BH HOUR DATA 1CH ;时,分,秒,百分之一秒变量 MIN DATA 1DH SEC DATA 1EH SEC100 DATA 1FH STATE DATA 23H LEAP BIT STATE.1 ;是否闰年标志1--闰年,0--平年 KEY_S DATA 24H ;当前扫描键值 KEY_V DATA 25H ;上次扫描键值 DIS_BUF_U0 DATA 26H ;LCD第一排显示缓冲区 DIS_BUF_U1 DATA 27H DIS_BUF_U2 DATA 28H DIS_BUF_U3 DATA 29H DIS_BUF_U4 DATA 2AH DIS_BUF_U5 DATA 2BH DIS_BUF_U6 DATA 2CH DIS_BUF_U7 DATA 2DH DIS_BUF_U8 DATA 2EH DIS_BUF_U9 DATA 2FH DIS_BUF_U10 DATA 30H DIS_BUF_U11 DATA 31H DIS_BUF_U12 DATA 32H DIS_BUF_U13 DATA 33H DIS_BUF_U14 DATA 34H DIS_BUF_U15 DATA 35H DIS_BUF_L0 DATA 36H ;LCD第三排显示缓冲区 DIS_BUF_L1 DATA 37H DIS_BUF_L2 DATA 38H DIS_BUF_L3 DATA 39H DIS_BUF_L4 DATA 3AH DIS_BUF_L5 DATA 3BH DIS_BUF_L6 DATA 3CH DIS_BUF_L7 DATA 3DH DIS_BUF_L8 DATA 3EH DIS_BUF_L9 DATA 3FH DIS_BUF_L10 DATA 40H DIS_BUF_L11 DATA 41H DIS_BUF_L12 DATA 42H DIS_BUF_L13 DATA 43H DIS_BUF_L14 DATA 44H DIS_BUF_L15 DATA 45H FLAG DATA 46H ;1-年,2-月,3-日,4-时,5-分,6-秒,7-退出调整。 DIS_H DATA 47H DIS_M DATA 48H DIS_S DATA 49H
上传时间: 2013-12-25
上传用户:wvbxj
注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言. 2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\ 所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。
上传时间: 2013-10-23
上传用户:mqien
TRasObject实现了一些主要的函数,允许开发者在其程序中使用RAS功能。它可以管理连接(创建,修改,重命名,删除),对选定的连接拨号或挂断。
标签: TRasObject 函数
上传时间: 2014-01-06
上传用户:咔乐坞
C程序漏洞检查,可以检查变量未初始化、空指针使用、数组溢出等错误
上传时间: 2015-01-06
上传用户:thesk123