首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Matlab上位开发(一) —— 了解上位

常用上位开发方式 上位软软件开发主要包括以下两种: Windows上位(基于串口通信) WinForm或者WPF(C#) 在Windows上,最早用VB语言开发,后来由于C++发展,采用MFC开发...,再后来微软发布了基于.NET框架面向对象语言C#,更加稳定安全,再配合微软强大VS进行开发,效率奇高; c#和Java语法类似,WPF相较于WinFormden优势在于,可以使用xml语言编写更加炫酷界面...; Qt(C++) 一方面可以跨平台运行,另一方面,对于嵌入式Linux中已经熟练掌握Qt开发开发者,使用Qt再来开发上位非常方便; Labview 有着更加丰富好看数据显示控件和逼真的交互控件,...教程概况 目前作者已经出教程有: 3.1. C#上位开发教程 ? 地址:https://blog.csdn.net/mculover666/category_8632945.html 3.2....Matlab上位开发 从本篇文章开发,我将带领大家一起掌握如何通过 Matlab 开发上位,目前计划有以下这些,敬请期待: Matlab上位开发(二)Hello,World Matlab上位开发

4.2K10

Qt 串口上位开发《Rice 上位 学习开发

前几天分享了一个使用C#开发串口上位,那么今天教你如何100行QT代码实现一个串口上位。如果你学习过C++,那么使用QT开发软件,就不是什么大问题了,QT很多时候使用在linux上。...所以使用QT开发还是挺不过选择,QT兼容Linux和Windows,跨平台语言。话不多说,接下来说说他是怎么实现。首先直接上软件效果图(温馨提示:代码没写完,哪有脸睡觉)。...第一步,确定自己需求,然后设计自己梦寐以求&华丽UI。QT UI也是很容易设计,通过拖拉控件即可。这是QT控件栏,要什么控件就拖拉什么控件。 第二步,实现功能。...写串口 void MainWindow::sendMsgBtn() { myCom->write(ui->lineEdit->text().toLatin1()); } 第三步,软件测试:下位采用...stm32通过串口发数据到上位

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

C#上位开发(二)—— Hello,World

上一篇大致了解了一下单片实际项目开发上位开发部分内容以及VS下载与安装,按照编程惯例,接下来就是“Hello,World!”...中用命名空间将很多属性及其方法进行封装供调用,类似C语言中将变量和函数封装成一个个.h文件,调用时候只需要#include "filepath + filename"就可以使用,比如刚开始时用关键字...; (class):C#是一门面向对象编程语言,所以最基本就是和对象,对象特征是具有属性(C语言中称为变量)和方法(C语言中称为函数),然后我们定义一个来描述这个对象特征,注意:这个时候定义不是真实存在...;   这里有一个重点,在定义Form1时候含有一个关键字partial,这里就不得不说C#语言设计一个重要特性了,能作为大多数人开发上位首选,C#有一个特性就是设计时候界面与后台分离,但是名相同...; 事件(ActionEvent):事件源产生交互内容,比如按下按钮; 事件处理:这部分也在C++中被叫做回调函数,当事件发生时用来处理事件;   注:这部分在单片中也是如此,中断源产生中断,然后进入中断服务函数进行响应

1.9K41

C#上位开发(三)—— 构建SerialAssistant雏形

上一篇简单介绍了C#一些基本知识,并成功Hello,World,那么从这篇开始,我们来自己动手写一个串口助手: 1、构思功能   串口助手在单片开发中经常被用来调试,最基本功能就是接收功能和发送功能...,文本框控件内容可以由用户修改,这也满足我们发送文本框需求;在默认情况下,TextBox控价是单行显示,如果想要多行显示,需要设置其Multiline属性为true;    TextBox方法中最多是...,所以我们将TextBox属性ScrollBars值设置为Vertical即可;   至此,我们显示控件就全部添加完毕,但是还有一个最重要空间没有添加,这种控件叫做隐式控件,它是运行于后台,用户看不见...,会发生一些我们编程时无法处理事件,比如硬件串口没有连接,串口打开过程中硬件突然断开,这些被称之为异常,针对这些异常,C#也有try..catch处理机制,在try中放置可能产生异常代码,比如打开串口...comboBox5.Enabled = true; } }   接下来开始最后一个任务 —— 串口接收,在使用串口接收之前要先为串口注册一个Receive事件,相当于单片串口接收中断

2.6K41

上位软件开发入门

大家好,又见面了,我是你们朋友全栈君。 1、上位是指:人可以直接发出操控命令计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。...下位是直接控制设备获取设备状况计算机,一般是PLC/单片之类上位发出命令首先给下位,下位再根据此命令解释成相应时序信号直接控制相应设备。...下位不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位。上下位都需要编程,都有专门开发系统。 两如何通讯,一般取决于下位。TCP/IP一般是支持。...通常上位和下位通讯可以采用不同通讯协议,可以有RS232串口通讯,或者采用RS485串行通讯, 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138424.

1.2K20

Matlab上位开发(二)Hello,World

然后双击画布中控件,即可打开该控件属性设置页面: ?...一些顾名思义属性不再赘述,只讲述一些matlab中特有的: ① 控件风格和外观 CData:在控件上显示图像; ② 控件回调函数执行控制 BusyAction:处理回调函数中断,有两种选项:即Cancel...回调函数,让界面动起来 Matlab中控件(比如按钮),和用户交互机制是设置回调函数,什么是回调函数呢? 当用户在点击按钮之后,程序中需要调用来处理该按钮点击事件函数,称为该按钮回调函数!...,'String','按钮按下啦~'); 第一个参数根据传入对象句柄和控件唯一标识来寻找控件,第二个参数为要改哪个属性,第三个参数为改变属性值,举一反三,其它操作也是一样。...推荐阅读: Matlab上位开发(一) —— 了解上位

1.6K10

上位开发必须了解数据类型

[通讯] 大端和小端问题(Big endian and Little endian) 数据类型说明 数据类型是编程语言中非常重要概念,其作用主要有以下几个方面: 内存分配:不同数据类型在内存中需要分配不同空间...例如,整数通常需要占用 4 个字节内存空间,而浮点数可能需要 8 个字节或更多空间。因此,正确数据类型可以确保内存使用效率和程序性能。 数据处理:不同数据类型可以支持不同操作和运算。...正确数据类型可以确保数据处理正确性和有效性。 输入输出:不同数据类型需要不同输入输出方式。例如,整数可以通过标准输入输出进行读写,正确数据类型可以确保程序能够正确地读写数据。...例如,int 数据类型下数字 1065353216 数据本质是“00 00 80 3F”,而 float 数据类型下数字 1 数据本质也是“00 00 80 3F”。...大部分人习惯是高位在前,低位在后。但这只是一种规定,数据存储可以有多种排列,大体上分为三种: 小端排列:典型代表是 C# 语言,三菱 PLC。 大端排列:典型代表是西门子 PLC。

34040

C#上位串口控制12864显示

实现效果 上面是用Proteus仿真的,,对了如果自己想用proteus仿真需要安装下面这个软件 再看一下实物显示效果 先做上位部分..............,我就用个定时器用于检测接收是否空闲了一段时间,只要出现空闲说明接收到了一条完整数据 设置是10ms检测一次 看程序里面怎么做,,,其实和我单片检测空闲是一样道理 定义一个链表用于存储数据,还有两个计数变量...只要拖动滑块后500Ms没在改变滑块值,那么就把当前滑块值发给单片,让单片显示出来 我没有做成一直发给单片,,因为12864本身刷新整个界面就慢,,一直发也没什么用................现在做做下位--单片程序 由于单片程序太多了,所以就事先做好了底层了,,,就先看一看 直接贴上来把 #define _12864_C_ #include "include.h" #include...串口接收和上位一样道理 在定时器里面做判断是否接收到一个完整数据 串口配置呢加入了115200,因为印象深刻...... void InitUART(long Baud) { if(

4.3K61

工控机上位软件开发历程(一)

大家好,又见面了,我是你们朋友全栈君。 本人就职于一家环境监测公司,上位软件主要功能是采集各仪器数据,然后存储起来,并传送到环保局平台。...刚到公司时候,公司使用是组态软件(用以显示流程图),然后再开发了报表软件、数据上传软件。...因为组态软件使用是标准Modbus协议,而很多仪器使用协议根本就是自定义,所以还要加一个协议转换软件,把各种各样协议转换成Modbus协议,让组态软件去读。...有上位版本管理、升级维护时,出现了极大麻烦,管理成本极高。很多时候会有这样一种情况,前面开发的人走了,后面就没有人能维护他软件了。...基于上面的情况,我和团队重新设计和开发上位软件,具有以下特点: (1)软件集组态、采集、传输、报表、自动启动等功能于一体,一台工控只有一个上位软件。 (2)上位只有一个版本,所有站点都一样。

1.6K10

Matlab上位开发(五)Matlab串口通信

Matlab串口通信 Matlab提供了串口通信功能,串口通信流程如下: 1.1....创建串口对象 创建一个串口对象API如下: scom = serial(''); 串口号为COM8形式,这个API有个缺点:不能自动检测目前电脑中存在中串口。...打开串口 打开串口API为: fopen(scom); 打开串口可能会发生异常,所以此函数建议放在try..catch..end中执行: try fopen(scom); catch <捕获到异常时需要打印或者显示信息...读取数据 从串口读取数据API也有两个: A = fread(scom,size); %从串口对象中读取size字节长短二进制数据,以数组形式存于A str = fscanf(scom); %从串口对象中读取字符或字符串...触发中断条件 触发串口Bytes available事件有两种条件: 当接收到字符数达到指定数目时(BytesAvailableFcnCount 属性); 当接收到指定字符时(Terminator

6.7K42

工控机上位软件开发历程(二)

我们站房是有空调,我希望知道站房温度和湿度,于是就有了一个温湿度计。我们可能还会有流量计、DTU、数采仪等仪器。这些仪器跟工控连接也不尽相同,有的使用串行线,有的使用网线。...其实无论仪器有什么功能,工控对仪器操作无非就两个:读和写。读的话,可能是读到测量值、仪器状态等;写的话,就是启动仪器测量、修改仪器参数等。而读和写操作,都是通过发送和接收完成。...根据这样特点,我们为所有仪器定义了一个基,它包含了发送字节流和接收字节流两个方法。而所有仪器,都继承自这个基。...(2)传输方式,以及传输参数。例如用串口,那应该有串口号、波特率等。如果用网线,应该有IP、端口等。 (3)使用通信协议。选定之后,上位机能够找到相应通信协议,对字节流进行操作。...这样下来之后,仪器所有功能,都变成了因子列表。因子有很多属性,但不是所有因子都一样。名称是我们想到唯一一个共性属性。我们在实际开发过程中,定义了几种因子: (1)实际因子:就是测量值。

1.1K20

上位软件系统开发工具简介

1、微软基础库(MFC)简介 本系统上位软件设计是基于 MFC进行开发,MFC(Microsoft Foundation Classes)是微软基础简称,提供了基于 C++语言面向对象编程框架...本系统采用 MFC 作为上位软件开发工具,主要原因是: (1) MFC 使用 C++作为底层编写语言,并对大多数常用 Windows API 进行了封装,并以成员函数或变量形式开放接口供用户使用...,这对在 Windows 系统上开发应用程序提供了极大便利,而且 C++最大优势是效率高、运行快、资源占用少,这十分符合自动化光学检测设备需求。...(3) MFC 采用消息映射机制,每个对话框中,均包含一个消息映射表,对于控件多种响应如鼠标单击、双击事件,都可生成一对消息映射关系,开发人员只需新建一个消息,并在自动生成消息响应函数中编写对应处理函数...,所以十分必要对 MFC 编写上位软件进行必要界面美化工作。

1.5K10

1.7-工控上位软件开发平台介绍

大家好,又见面了,我是你们朋友全栈君。 一、前言 前面几章一直没有提到上位另一个主要使用场合,即“工业上位软件”。主要是因为本人没有接触过,不敢贸然发表见解文章。...最近在机缘巧合下,对“工业上位软件”有了一些初步了解。在这里和大家分享一下。注意本节内容还不够专业全面,只适合对“工控软件”进行一个初步了解。...也成为了行业标准。所有工业下位机设备都是支持Modbus协议。所有工业上位软件开发平台,都默认提供了Modbus通信模块(库),都不用你自己开发。注意,Modbus只是工业通信协议中一个。...因此开发平台把这几个功能进行了模块化,开发人员只需通过“配置”即可做出一款工控上位软件。这类软件开发平台叫做“组态软件”。...三、开发组态软件典型页面截图 所谓“一图胜千言”,因此这里贴几张典型“工业上位”软件开发截图。从而对工业软件有一个感性认识。 注:以下配图来源于KingSCADA开发平台软件说明书中。

2K20

QT实现简单上位软件

大家好,又见面了,我是你们朋友全栈君。 最近项目要求写上位软件,需要实现界面功能和串口读写。...一开始当然先看快速入门攻略。。网上有很多攻略就不细说了。 自认为入门后开始想上位软件功能和架构,需要实现功能模块不多,无非是:串口功能、数据处理、显示数据,然后根据这些模块设计界面。...所以在上位中,“打开串口”按钮对应Slot()就是串口函数 QSerialPort::open() ,再进一步设置串口波特率等参数就行了。...()函数,一次读完所有的值(项目的单片是定时发送数据)。...QTableWidgetItem 类型,而且使用过程中发现一个Item只能set一次,否则会提示以下错误 解决方法:每次setItem前都重新构造一个Item 到这里简单上位框架已经实现了吧。。

1.5K20
领券