说把手教你编写LabView上位机程序
基于LabVIEW的上位机监控程序设计
基于LabVIEW 的上位机监控程序设计毛江(中国矿业大学信电学院,江苏徐州221008)5 摘要:随着工业自动化的蓬勃发展,远程上位机监控已经变得越来越普遍,在市场上存在着众多的上位机软件平台。
然而大部分的此类软件都是用VB 语言编写的后台程序,相对于不太专业的程序开发人员来说有一定的困难,大大增加了项目开发的难度。
本文选择了NI (National Instruments)公司的LabVIEW 软件平台,在介绍了LabVIEW 编程环境的基础上,提出了一种基于LabVIEW 的上位机监控方案,并详细介绍了LabVIEW 串口通信程序以及10 数据处理、图形界面等的的设计方法,并给出了相应的监控界面和串口通信程序,可以作为相关行业从业人员的参考。
关键词:LabVIEW; 上位机; 串口通信中图分类号:TP31115 Program design of PC monitor based on the LabVIEWMAO Jiang(China University of Mining and Technology, Jiangsu Xuzhou 221008) Abstract: With the vigorous development of industrial automation, remote PC monitor has become more and more popular,there are a lot of PC software platform in the world market. But most of20 backend application is written by VB in those platform, which is not so easy for those programdevelopers who are not professional, because that the difficulty of the project is greatly increased. We chooses the NI (National Instruments) company’s LabVIEW software platform in this article, and the LabVIEW programming environment is introduced, on the basis of that we proposed the PC monitoring scheme based on the LabVIEW platform, and introduce the LabVIEW serial 25 communication procedures ,data processing, design method of graphical interface and so on, thecorresponding interface for monitoring and serial interface communication program are designed too, this paper can be used as reference for personnel related industry.Key words: LabVIEW; PC; Serial communication30 0 引言近年来,工业自动化技术发展的如火如荼,在市场上存在着众多的上位机软件平台。
说把手教你编写LabView上位机程序
手把手教你从零开始用labview编写智能车上位机程序(1)labview, 智能, 手把手, 程序, 编写软件安装和基础知识准备其几天把我的上位机软件发布在里这里,发现大家对这个还是很感兴趣的,因为上位机软件对于做摄像头的来说是必备的工具(也许有人说他不需要,那我很佩服他的判断能力和程序调试能力,他肯定是天才级别的人物,希望我能拜他为师,呵呵!)。
不过这种东西还是自己编写的用起来顺手。
想显示什么就显示什么。
选择labview编写是因为labview容易上手,我从完全不会到编写到完成那个上位机软件也就用了一个星期而已。
如果学VC,MFC的话,你估计对用上1个月也许还做不出什么。
但是labview功能也很强大,可是我们用到的并不多,网上教程多,可是我们能用上的也并不多,学起来麻烦。
我下面就专门针对这个labview的智能车上位机软件的编写来讲解吧!首先发布一个关于labview的广告,大家了解一下labview主要是干什么的。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
LabVIEW入门指南从零开始学习电气工程师必备的编程工具
LabVIEW入门指南从零开始学习电气工程师必备的编程工具LabVIEW入门指南:从零开始学习电气工程师必备的编程工具LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种面向工程和科学领域的开发环境和系统设计平台,是一种图形化编程语言,由美国国家仪器公司(National Instruments, NI)开发。
本指南将介绍LabVIEW的基本概念和使用技巧,帮助初学者从零开始学习并掌握这一被认为是电气工程师必备的编程工具。
一、LabVIEW简介1.1 LabVIEW的定义与特点LabVIEW是一种图形化编程语言,采用了“数据流”编程范式。
与传统的文本编程语言相比,它具有以下特点:- 直观的编程界面:通过拖拽、连接图标表示程序流程,使得程序的编写更加直观和易于理解。
- 灵活的调试能力:可以通过程序的前后连接关系来逐步调试和分析程序的运行情况。
- 强大的信号处理和控制功能:内置了丰富的信号处理和控制功能模块,方便工程师进行各种复杂的电气工程任务。
- 与硬件设备的紧密结合:可以直接与各种硬件设备进行通信和控制,便于实时采集和处理数据。
1.2 LabVIEW的应用领域由于其特点和优势,LabVIEW在各个工程和科学领域得到了广泛应用,主要包括以下几个方面:- 自动化测试与测量:LabVIEW提供了强大的数据采集和分析功能,可以用于工程测试与测量领域的应用,如功率测试、信号分析等。
- 控制系统设计与实现:通过与各种硬件设备的连接,LabVIEW可以实现对工程系统的控制与监控,如自动化控制、机器人控制等。
- 信号处理与模拟仿真:LabVIEW内置了丰富的信号处理和模拟仿真模块,可用于信号滤波、频谱分析、系统建模等应用。
- 数据可视化与数据处理:LabVIEW提供了直观的数据可视化和处理工具,方便工程师分析和呈现实验结果。
二、LabVIEW环境搭建与基本操作2.1 安装LabVIEW首先,您需要从NI官方网站下载并安装LabVIEW开发环境。
基于LabVIEW的全自动洗衣机测试上位机软件设计与实现
陈 李
敏 威
副研究员 成 高 都 工 上海
电子科技大学
上海保隆汽车科技股份有限公司
(姓名、职称、单位名称) 申请学位级别 工程领域名称 提交论文日期
硕士
专业学位类别
工 程 硕 士 程 2014.05.10
软 2014.03.01
件
工
论文答辩日期
学位授予单位和日期 答辩委员会主席 评阅人
电子科技大学 杨宜康
2014 年 06 月 25 日
注 1:注明《国际十进分类法 UDC》的类号。
DESIGN AND IMPLEMENTATION OF A FULLY AUTOMATIC WASHING MACHINE COMPUTER SOFTWARE BASED ON LABVIEW
A Master Thesis Submitted to University of Electronic Science and Technology of China
I
ABSTRACT
ABSTRACT
Today, washing machine plays an important role in human's daily life. Because of the continuously big demand for washing machine in the market, the washing machine manufacturers are put forward higher requirements: Firstly, they need to increase the production to meet the demand and improve the market share. Secondly, they have to take more efforts to develop the new machines. Therefore, saving time and cost is very important. And the pricing should always be in a reasonable range. It leads the manufactures to pay attention to realize the automatic detection. The testing software of automatic washing machine in this paper is based on a LabVIEW platform. A method of graphical programming language is used here to develop the software, which can carry out mass automatic detection with certain data analysis function. First of all, complete all the functions of a full automatic washing machine, which is so-called a slave. Then, build up the communication between upper computer software and lower computer program. Finally, achieve the objective of automatically detection. This software uses the synchronization technology, common clock and the way to trigger signal, to realize the synchronous acquisition and display with multiple acquisition equipment. Using TCP/IP technology, it is also solved to achieve the simultaneous communication between multiple devices and the host computer. Through a simple data processing, the software can display the real-time collected data and quickly store them into an excel file. The excel files can be easily imported into the database. This is the reason why the way of designing a suitable database for storing the data. There are many advantages to store data with database: This method can meet different needs of different users. The database realizes the storages of different forms of data without storing the same data many times. It avoids wasting of the CPU space. In order to facilitate the operation, a data playback system is designed as an assistant of acquisition system. The data playback system is programmed with the combination of LabVIEW and database technology. It directly uses the LabVIEW interface to operate the database file. In this system, the simple functions of deriving and printing are also added, so that the user demand for data processing can be met very well. After lots of experiments, the software also exposed some shortages, such as the imprecision of data analyzing and the inconvenience of changing the acquisition devices.
基于labvIEW的PLC与上位机通讯系统设计
The paper see the PLC ofFP1 series made by Panasonic as the research object, studying for the MEWTOCOL-COM protocol, the development of remote monitoring and control system, as well as the machine code represented the PLC command ,and finally build a remote measurement and control system based onthe Web in the model of B/S.
开发软件的最初一步就是需求分析。根据老师提供的题目,以及自身对该题目的分析研究,作者站在是用户的角度对软件系统的需求功能进行了概况如下:
1)通讯系统要能控制反映PLC的输入输出端口状态值。
2)通讯系统要能实现程序的下载,即离开松下PLC提供的软件能够通过界面实现程序的下载控制。
3)通讯系统能实现一些基本的寄存器是操作,以及命令的发送,数据的提取。
1.2
PLC作为新一代工业控制器,以其高性能价格比在工业测控系统中获得了广泛应用.随着微电子及控制技术的不断发展, PLC已逐渐成为一种智能型、综合型控制器,由PLC构成的集散控制是现代工业控制的一个重要组成部分[2],随着计算机技术是快速发展,PLC在自动控制方面发挥的重要作用也日益增强,两者是结合是自动控制发展的必然。通讯接口是PLC与上位机连接的桥梁,通过连接可以把PLC的现场执行功能和计算机是快速运算功能很好融为一体,以实现自动化控制,甚至是远程控制。目前不同厂家生产的PLC都提供了通讯接口,并提供了完善是通讯协议,如西门子S7 200的PPI ,MPI ,以及自由通讯协议等,本文主要研究松下FP1系列PLC与上位机通讯。
labview上位机的课程设计
labview上位机的课程设计一、课程目标知识目标:1. 理解LabVIEW上位机的基本概念和原理,掌握其编程环境及界面操作。
2. 学习并掌握LabVIEW中常用数据类型、数据结构及程序控制流程。
3. 学会使用LabVIEW进行数据采集、处理、显示和存储。
技能目标:1. 能够运用LabVIEW设计简单的上位机程序,实现与硬件设备的通信和控制。
2. 培养学生独立分析问题、解决问题和编程实践的能力。
3. 提高学生团队协作和沟通能力,能在项目实践中发挥积极作用。
情感态度价值观目标:1. 培养学生对计算机编程和自动化控制的兴趣,激发创新意识。
2. 培养学生严谨、认真、负责的学习态度,养成良好的编程习惯。
3. 增强学生的环保意识,了解自动化技术在节能减排方面的应用。
课程性质:本课程为实践性较强的学科,注重理论知识与实际应用相结合。
学生特点:学生具备一定的计算机操作基础,对编程有一定了解,但LabVIEW 上位机编程经验较少。
教学要求:结合学生特点,注重启发式教学,引导学生主动探究,培养实际操作能力。
教学过程中,关注学生的个体差异,提供个性化指导。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容1. LabVIEW上位机概述- 了解LabVIEW的发展历程、特点和应用领域。
- 掌握LabVIEW的安装和界面布局。
2. 数据类型与程序结构- 学习LabVIEW中的基本数据类型、常量和变量。
- 掌握顺序结构、循环结构、条件结构等程序控制流程。
3. 数据采集与处理- 学习使用DAQ助手进行数据采集。
- 掌握波形图表、波形图等数据显示控件的使用。
- 学习数据滤波、数据分析等处理方法。
4. 数据存储与通信- 学习文件I/O操作,实现数据的存储与读取。
- 掌握TCP/IP、串行通信等网络通信技术。
5. 实践项目- 设计简单的温度监测系统、智能家居控制系统等实际项目。
- 通过项目实践,巩固所学知识,提高编程能力。
基于Labview的USB接口上位机设计
基于LabVIEW的USB接口上位机设计一、数据传输USB模块1.1概述CH375是一个 USB总线的通用接口芯片,支持USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。
在本地端,CH375 具有 8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU 等控制器的系统总线上。
在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。
CH375 的 USB 设备方式与 CH372 芯片完全兼容,CH375 包含了 CH372 的全部功能。
本手册中没有提供CH375在USB设备方式下的说明,相关资料可以参考 CH372 手册CH372DS1.PDF。
CH375的 USB主机方式支持常用的USB全速备,外部单片机可以通过CH375按照相应的 USB 协议与 USB 设备通讯。
CH375 还内置了处理 Mass-Storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备。
1.2特点●低速和全速USB-HOST 主机接口,兼容USB V2.0,外围元器件只需要晶体和电容。
●低速和全速USB设备接口,完全兼容 CH372 芯片,支持动态切换主机与设备方式。
●主机端点输入和输出缓冲区各64字节,支持 12Mbps 全速 USB 设备和 1.5Mbps 低速设备。
●支持USB 设备的控制传输、批量传输、中断传输。
●自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。
●内置控制传输的协议处理器,简化常用的控制传输。
●内置固件处理海量存储设备的专用通讯协议,支持 Bulk-Only传输协议和 SCSI、UFI、RBC 或等效命令集的USB存储设备(包括 USB 硬盘/USB 闪存盘/U 盘/USB 读卡器)。
●通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。
labview上下位机课程设计
labview上下位机课程设计一、课程目标知识目标:1. 学生能理解LabVIEW的基本原理和上下位机通信的概念。
2. 学生能掌握使用LabVIEW设计上下位机程序的基本步骤和关键节点。
3. 学生能了解并描述至少三种常见的上下位机通信协议及其应用场景。
技能目标:1. 学生能够运用LabVIEW软件独立设计简单的上下位机通信程序。
2. 学生能够通过编程实现数据采集、处理和显示等功能。
3. 学生能够诊断并解决上下位机通信过程中出现的常见问题。
情感态度价值观目标:1. 学生培养对自动化和信息技术领域的兴趣,增强探究精神和创新意识。
2. 学生在团队协作中学会沟通与分享,培养合作解决问题的能力。
3. 学生能够认识到LabVIEW技术在现实生活中的应用价值,提高学习的积极性和主动性。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,帮助学生掌握LabVIEW上下位机编程技能。
学生特点:学生具备基本的计算机操作能力,对编程有一定了解,具有较强的学习兴趣和动手能力。
教学要求:教师应注重理论与实践相结合,采用项目驱动法,引导学生主动参与,培养实际操作能力。
同时,关注学生个体差异,提供个性化指导,确保课程目标的实现。
通过教学设计和评估,确保学生达到预定的学习成果。
二、教学内容本课程教学内容主要包括以下三个方面:1. LabVIEW基本原理和上下位机通信概念- LabVIEW软件概述与安装- 上下位机通信原理及接口技术- 数据采集与处理基础知识2. LabVIEW编程技术- LabVIEW编程环境及界面操作- 前面板和程序框图设计- 数据类型、常量和变量- 结构化编程:循环、条件、事件结构等- 子VI的创建与调用3. 上下位机通信实践- 常见通信协议(如:串口通信、TCP/IP、USB等)- 数据采集卡的使用- 上下位机通信程序设计实例- 数据采集、处理与显示教学大纲安排如下:1. 引言与LabVIEW概述(1课时)2. 上下位机通信原理及接口技术(2课时)3. LabVIEW编程基础(3课时)4. LabVIEW编程进阶(3课时)5. 上下位机通信实践(4课时)教学内容与课本关联性:以上教学内容紧密结合教材,按照教材章节顺序逐步展开,确保学生能够掌握LabVIEW编程和上下位机通信的核心知识。
说把手教你编写LabView上位机程序
手把手教你从零开始用labview编写智能车上位机程序(1)labview, 智能, 手把手, 程序, 编写软件安装和基础知识准备其几天把我的上位机软件发布在里这里,发现大家对这个还是很感兴趣的,因为上位机软件对于做摄像头的来说是必备的工具(也许有人说他不需要,那我很佩服他的判断能力和程序调试能力,他肯定是天才级别的人物,希望我能拜他为师,呵呵!)。
不过这种东西还是自己编写的用起来顺手。
想显示什么就显示什么。
选择labview编写是因为labview容易上手,我从完全不会到编写到完成那个上位机软件也就用了一个星期而已。
如果学VC,MFC的话,你估计对用上1个月也许还做不出什么。
但是labview功能也很强大,可是我们用到的并不多,网上教程多,可是我们能用上的也并不多,学起来麻烦。
我下面就专门针对这个labview的智能车上位机软件的编写来讲解吧!首先发布一个关于labview的广告,大家了解一下labview主要是干什么的。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
基于LABVIEW的上位机串口通信程序设计
电子设计工程Electronic Design Engineering第26卷Vol.26第11期No.112018年6月Jun.2018收稿日期:2017-08-08稿件编号:201708043作者简介:汤佳明(1993—),男,江苏无锡人,硕士研究生。
研究方向:机电一体化技术。
随着工业自动化进程的不断深入,虚拟仪器的使用越来越普遍,上位机作为虚拟仪器的一部分在工业生产与科学研究领域也被广泛得使用,在测控与软件设计方面已有了许多成功实例。
上位机的功能是发出指令并传送至下位机端,在这一过程中,数据的传输与反馈需要监控,故根据需求设计相关的上位机程序显得很有必要。
LABVIEW 作为一款已被广泛使用的虚拟仪器开发平台,在教学、研究、测试和生产自动化领域被广泛应用[1]。
其图形化编程界面与常规编程语言的不同在于以图形数据流代替了代码,这对于从事工程应用的工程师而言简洁易懂,故可灵活迅速地开发上位机软件。
同时,LABVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可以方便地创建用户界面[2]。
通过LABVIEW 搭建的控制系统,软件程序是其核心[3]。
本文基于串口通信原理,编写了上位机通信监控程序,并对其进行模拟通信验证。
基于LABVIEW 的上位机串口通信程序设计汤佳明,安伟(江南大学机械工程学院,江苏无锡214122)摘要:基于简化计算机与外部串行设备或其他计算机之间串口通信软件开发流程的目的,采用了依据串口通信原理使用LABVIEW 作为上位机程序开发平台的方法,运用图形化程序语言搭建上位机串口通信监控界面。
通过由虚拟串口通信驱动软件建立虚拟串口通道用于模拟上位机与外部设备数据通信过程的试验,可得出在建立两个对应串口的基础上文中设计的两种数据通信方式均可完整传输数据、且能够以一个指定的终止字符形式结束传输过程的结论。
总的来说,本文设计的上位机串口通信程序简单易懂,相应的监控界面也简洁易用,两者结合在实际近距串口通信中拥有一定的实用与参考价值。
LabVIEW编程技巧提高生产效率的实用方法
LabVIEW编程技巧提高生产效率的实用方法LabVIEW是一款功能强大的图形化编程环境,广泛应用于工业自动化和科学研究领域。
在实际应用中,熟练掌握一些编程技巧是提高生产效率的关键。
本文将介绍一些实用的LabVIEW编程技巧,帮助开发人员更高效地完成任务。
一、使用LabVIEW内置的模板和例程LabVIEW提供了丰富的模板和例程,在开始新项目时可以直接使用这些模板和例程,节省编写代码的时间。
这些模板和例程包含了常见的功能和处理方法,开发人员只需根据具体需求进行修改即可。
使用模板和例程不仅可以提高编程效率,还可以减少错误的发生。
二、充分利用LabVIEW的图形化编程特性LabVIEW以图形化的方式呈现编程逻辑,使用虚拟仪器(Virtual Instrument,简称VI)进行编程。
开发人员应该充分利用这一特点,通过拖拽、连接和配置各种函数和节点来构建自己的程序。
比如,使用数据流图和控制流图来表示程序的数据流向和控制逻辑,使用事件结构来处理用户交互等。
这种图形化的编程方式往往更直观、易于理解和维护。
三、模块化设计和可重用性在LabVIEW中,将程序分为多个模块,每个模块完成一个具体的功能。
模块化的设计可以使程序更加清晰和易于管理,同时也提高了代码的可重用性。
开发人员可以将一些常用的模块保存为子VI (SubVI),在其他程序中直接调用。
这样可以节省开发时间,并且减少了每次编写相同功能代码的机会。
四、善用标签和注释LabVIEW中可以给各种元素(如控件、连线、节点等)添加标签和注释,这对于理解和调试程序非常有帮助。
开发人员应该充分利用这些功能,为各个元素添加有意义和清晰的标签和注释,以便自己和其他人更好地理解程序的逻辑和功能。
在调试过程中,可以通过查看标签和注释快速定位问题。
五、使用合适的数据结构和数据处理方法LabVIEW中有多种数据结构和数据处理方法可供选择,开发人员需要根据具体场景选择合适的方法。
labview实例教程入门到精通快速上手基本
基本操作1.创建调用子程序我们通过例子来说明如何创建一个VI。
练习1-1:建立一个测量温度和容积的VI,其中须调用一个仿真测量温度和容积的传感器子VI。
步骤如下:1.选择File»New,打开一个新的前面板窗口。
2.从Controls»Numeric中选择Tank放到前面板中。
3.在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。
4.把容器显示对象的显示围设置为0.0到1000.0。
a. 使用文本编辑工具(Text Edit Tool),双击容器坐标的10.0 标度,使它高亮显示。
b.在坐标中输入 1000,再在前面板中的其他任何地方单击一下。
这时0.0到1000.0之间的增量将被自动显示。
5.在容器旁配数据显示。
将鼠标移到容器上,点右键,在出现的快速菜单中选VisibleIterms»Digital Display即可。
6.从Controls»Numeric中选择一个温度计,将它放到前面板中。
设置其标签为“温度”,显示围为0到100,同时配数字显示。
可得到如下的前面板图。
图1-3练习1-1的前面板图7.Windows»Show Diagram打开流程图窗口。
从功能模板中选择对象,将它们放到流程图上组成下图(其中的标注是后加的)。
随机数发生器乘法函数数值常数进程监视器图1-4练习1-1的流程图该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器、一个进程监视器,温度和容积对象是由前棉板的设置自动带出来的。
a.乘法器和随机数发生器由Functions»Numeric中拖出,尽管数值常数也可以这样得到,但是建议使用c 中的方法更好些。
b.进程监视器(Process Monitor)不是一个函数,而是以子VI的方式提供的,它存放在LabVIEW\Activity目录中,调用它的方法是在Functions»Select aVI下打开Process Monitor,然后在流程图上点击一下,就可以出现它的图标。
雕刻机虚拟仿真及上位机设计(Labview上位机+Proteus仿真)
雕刻机虚拟仿真及上位机设计(Labview上位机+Proteus仿真)写在前⾯:本⼈对Arduino、Labview、CNC都了解不多,如有错误,请私信指正。
需求设计雕刻机上位机,能够向下位机发送G代码下位机能解释G代码并控制电机⾏动设计设计流程图实现流程图实现过程如下:操作流程图实际情况操作流程如下:上位机部分设计思路:参考了⼀些现有的雕刻机上位机软件(以下贴图来⾃奎享雕刻软件,其他也差别不⼤),发现基本功能如下:1.建⽴连接,选择端⼝、波特率、烧录的固件,由于我使⽤的是GRBL固件,所以没有添加选择固件的功能(还有其他固件如Gcode-Interpreter,都⼤同⼩异)2.可以确认机器状态,可以设置⼯作位置和实时显⽰机器位置,⽅便做出调整。
3.设置起点,单独设置X,Y,Z轴的起点和返回⼯作位置(原点)。
4.设置XYZ轴移动步长(由于X和Y都在⽔平⽅向所以放在⼀起,当然,如果是读⼊.nc⽂件是直接根据⽂件中的信息来设置的),设置主轴运转的速度。
5.基本的三轴移动功能。
6.开启和关闭主轴。
7.读⼊.nc⽂件并执⾏。
参考上述的功能,设计了如下基于Labview的雕刻机上位机控制系统。
(关于读取G代码的部分,由于时间和精⼒的限制暂时还未能做出来,如果后续有机会实现,会贴在最后)其整体前⾯板如下:实现了基本的开关、选择串⼝、串⼝状态提⽰、显⽰历史命令、清除历史命令、通过上位机控制XYZ轴移动、打开/关闭主轴、选择主轴正/反转、设置主轴转动速度、直接发送G命令、设置⼯作原点、返回⼯作原点、设置XYZ轴移动步长、显⽰⼯作坐标和机械坐标的功能。
前⾯板的功能顾名思义,下⾯是程序内部的说明。
整个程序设计思路较为简单,主要是通过检查按钮的01状态来实现功能,所有的操作都放在⼀个if判断中,由总的开关控制,外套接⼀个while循环。
接下来,就每个功能说明实现⽅法:显⽰及清除历史命令:设置⼀个显⽰字符串的前⾯板控件,通过该控件来显⽰历史命令。
LabView程序设计的一般过程
1.找出语法错误 如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个
折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。在这它, 则LabVIEW弹出错误清单窗口,在这其中任何一个所列出的错误,选用Find 功能,则出错的对象或端口就会变成高亮。 2.设置执行程序高亮
v
step over是在单步执行时,在函数内遇到子函 数时不会进入子函数内单步执行,而是将子函 数整个执行完再停止,也就是把子函数整个作 为一步。
v
step out就是单步执行时,用step out就可以执 行完程序余下部分,并返回。
On the evening of July 24, 2021
Courseware template
可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工 具模板选择探针工具,再用鼠标左键在这你希望放置探针的连接线。这时显示器 上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上 面。在流程图中使用选择工具或连线工具,在连线上在这鼠标右键,在连线的弹 出式菜单中选择探针命令,加上一个探针同样可以为该连线。
Courseware template
LabVIEW程序调试技术
3.断点与单步执行 为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。
使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数 据。使用断点工具时,在这你希望设置或者清除断点的地方。断点的显示对于节 点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处, 程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被 执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以在这暂停按 钮,这样程序将连续执行直到下一个断点。 4.探针
两种NI VST上位机编程:LabVIEW范例和仪器设计库教程
两种NI VST上位机编程:LabVIEW范例和仪器设
计库教程
NI矢量信号收发仪可以通过LabVIEW范例和仪器设计库进行编程,或使用业内标准NI-RFSA和NI-RFSG仪器驱动。
这两种选择都提供了预编译的FPGA位文件,只能需要通过上位机就可以运行了。
本文将介绍两种NI VST 上位机编程方法。
1. 仪器设计库
VST仪器设计库和LabVIEW范例使VST的FPGA架构具有更高的灵活性,意味着上位机接口需要更为灵活,因而使用更为方便和功能更为完备。
然而,在修改任何FPGA程序之前,理解范例上位机接口的功能是非常重要的,因为很多应用程序只能通过编写桌面代码来实现。
安装VST的相关软件(参见此处)后,创建一个VST项目范例,首先选择Simple VSA/VSG项目范例或VST Streaming项目范例,然后单击下一步。
输入项目名称,也可根据需要输入自定义根目录、前缀和修改VI图标。
。
从零编写上位机
好了既然安装好了,也知道labview是用来干什么,下面就给几个基础教程吧!这都是入门级的。
LabVIEW从入门到频率测量系统的开发.pdf《LabVIEW 8.20程序设计从入门到精通》课件.rar再介绍一个labview学习的论坛吧,我上面介绍的两个资料在这里都可以找到。
/bbs/index.php既然是上位机,当然离不开串口通信,不了解串口是不行的,下面再发一个资料串口通信.pdf前面的你大概只用花一天时间就可以解决。
在具备计算机软件环境和基础知识后就可以动手编写程序了。
先把我做的串口接收例子发布出来,大家看看吧,很简单的。
还有就是单片机里的串口驱动和printp函数,这个在论坛里有下载,自己找吧,我不想发重复的东西。
串口接收示例.rar串口收发示例.rar到现在为止,假设你已经成功安装了软件,包括驱动和破解,而且看完了labview的基础知识和串口的基础知识。
手头上也有我给你们的串口例子,相当简单。
还有就是DG128上的printp。
于是就可以在上位机上显示单片机发来的数据了。
下一篇再详细讲述吧!串口程序初步详解在第一篇中,我已经给大家介绍了labview的用途,主要是用于虚拟仪器,数据采集和控制。
labview的安装,破解以及其驱动的安装,其中大家可能会遇到点麻烦,如果电脑技术可以的话,很轻松的就能解决,不过在网上也能搜到解决办法。
还有就是介绍两个资料,这是基础,如果不知道的话,下面很难进行。
建议你们把那个PPT里面的小练习做一下,可以很快的熟悉labview。
同时labview目录下的帮助文档也写得非常好,在\National Instruments\LabVIEW 8.5\manuals里面,尤其是LV_Getting_Started.pdf这个,按照它的步骤做个示波器,然后你就对G编程有个大概的了解的。
有了串口的基本知识,和G编程基本了解,下面就详细讲解一下我在上一篇文章中发给大家的串口示例。
LabVIEW程序设计步骤
LabVIEW程序设计步骤下面通过一个设计实例来详细介绍虚拟仪器软件LabVIEW的程序设计步骤。
设计目标:假设有一台仪器,需要调整其输入电压,当调整电压超过某一设定电压值时,需通过指示灯颜色变化发出警告。
1 建立新 VI启动 LabVIEW 程序,单击VI 按钮,建立一个新VI 程序。
这时将同时打开LabVIEW的前面板和后面板(框图程序面板)。
在前面板中显示控件选板,在后面板中显示函数选板。
在两个面板中都显示工具选板。
如果选板没有被显示出来,可以通过菜单查看(View ) /工具选板( Tools Palette)来显示工具选板,通过查看(View )/控件选板(Controls Palette )显示控件选板,通过查看(View )/函数选板( Functions Palette)显示函数选板。
也可以在前面板的空白处,单击鼠标右键,以弹出控件选板。
2前面板设计输入控制和输出显示可以从控件选板的各个子选板中选取。
本例中,程序前面板中应有 1 个调压旋钮, 1 个仪表, 1 个指示灯, 1 个关闭按钮共 4 个控件。
1)往前面板添加 1 个旋钮控件:控件( Controls )→ 新式( Modern )→数值( Numeric )→旋钮( Knob ),如图 2-14 所示,标签改为“调压旋钮”;2)往前面板添加 1 个仪表控件:控件( Controls )→ 新式( Modern )→数值( Numeric )→仪表( Meter ),如图 2-14 所示,标签改为“电压表”。
3)往前面板添加 1 个指示灯控件:控件(Controls )→ 新式(Modern )→ 布尔( Boolean )→圆形指示灯( Round LED ),如图 2-15 所示,将标签改为“上限灯”。
图 2-14添加旋钮、仪表控件图2-15添加指示灯、按钮控件4)往前面板添加 1 个停止按钮控件:控件(Controls )→ 新式( Modern )→ 布尔(Boolean )→停止按钮( Stop Button ),如图 2-15 所示,将标签改为“关闭”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
手把手教你从零开始用labview编写智能车上位机程序(1)
labview, 智能, 手把手, 程序, 编写
软件安装和基础知识准备
其几天把我的上位机软件发布在里这里,发现大家对这个还是很感兴趣的,因为上位机软件对于做摄像头的来说是必备的工具(也许有人说他不需要,那我很佩服他的判断能力和程序调试能力,他肯定是天才级别的人物,希望我能拜他为师,呵呵!)。
不过这种东西还是自己编写的用起来顺手。
想显示什么就显示什么。
选择labview编写是因为labview容易上手,我从完全不会到编写到完成那个上位机软件也就用了一个星期而已。
如果学VC,MFC的话,你估计对用上1个月也许还做不出什么。
但是labview功能也很强大,可是我们用到的并不多,网上教程多,可是我们能用上的也并不多,学起来麻烦。
我下面就专门针对这个labview的智能车上位
机软件的编写来讲解吧!
首先发布一个关于labview的广告,大家了解一下labview主要是干什么的。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的
程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及
其子程序(子VI)的结果、单步执行等等,便于程序的调试。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
下面的框图反映了常见的虚拟仪器方案。
虚拟仪器的主要特点有:
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪
器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE 488或GPIB协议。
未来的仪器也
应当是网络化的。
LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高
工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、
UNIX、Linux、Macintosh的多种版本。
手把手教你从零开始用labview编写智能车上位机程序(3)
labview, 智能, 手把手, 程序, 编写
程序结构
这一篇,我将给大家讲解一下labview中程序执行的顺序。
最终目标是大家能够知道第二篇中那个程序里的框框是干什么的,为了简单,所以不会全讲,剩余的到以后需要使用的时候再说。
在labview中,默认情况下,程序的执行顺序是沿
着数据流动的方向运行的。
我们把第二篇中的那个串口接收程序简化一下就成了上面的这个样子。
首先是配置串口,配置好的串口的数据流到缓冲区,我们设置好一个4096字节大小的缓冲区。
于是得到了来自于串口的4096个字节的串口数据,然后我们再用“串口读取”从中取出这4096字节个数据,然后把这4096字节是数据输出到“接收数据”的那个框里,于是我们就可以看到从串口收到的字符了。
但这样的话,你会发现程序只能运行一次,然后就停止。
我们如何才能让程序不停的循环这个步骤,当我们想让他停的时候他才停呢?
我们可以在函数面板的空白处点击右键,如下图所
示找到while结构
构然后就会出现一个可以拖动的方框,拖动他把你想不停执行的部分包含在这个框里面
然后就会变成这样
但是还没完,在这个框里面的右下角有一个红色的点,在他的左面有一个可以连接的“布尔”型连线,右
击这个线,创建-》常量
于是他的上面就连接了一个“F”的常量,表明这个循环不会停止。
也就是说这个while大方框里面的程序会不停的循环运
行。
现在我们的串口程序每从串口接收到4096个字节的数据就把它显示在那个“接收数据”方框里,不断循环。
但是我们现在还面临一个问题,那就是。
每当接收到4096个字符串后,把他们显示在程序中时,以前的数据就全部没有了,我们如何才能让以前的数据
都保存在里面呢?
在while循环里还有一种结构,叫移位寄存器,右键点击while循环的那个框,选择“添加移位寄存器”。
如下图
在while方框上出现了两个三角形的符号,这就是移位寄存器。
移位寄存器的意思大概是把一次循环中计算的数据放在右边的那个三角形里,在下一次循环时,从左边的那个三角形里取出来进行运算,其实就跟C语言里的变量类似,通过这种方式我们可以把
上一次循环中的数据用在下一次循环中(我讲的不是很准确,应该就是这么用吧。
其实还有其他方法,也可以使用局部变量实现这个功能)。
再介绍一个函数--“连接字符串”,位置如下
下面我们就把它连接成下面这个样子
这样就可以把从串口接收到的数据完整的显示出来
了,前面板如下
至于我给的那个程序里面的if结构的用法,就更简单了,使用“ctrl+H”看看帮助就知道了,其实这个功能要不要无所谓。
为了使我们这个程序尽可能简单,
暂时我就不介绍这个了。