用哪种上位机控制单片机好呢?VB,VC,PYTHON,还是其他?
上位机是指可以直接发出操控命令的计算机,屏幕上可以显示各种信号变化。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。
automation industry with 3d rendering monitor
早期开发上位机主要是在PC上用VB,VC,DELPHI,现在也有人开始用C#,PYTHON,各有优缺点。
Speech bubble illustration of information
Programming concept. Future technology smart glass
近年来移动技术的高速发展以及移动终端设备的迅速普及,使人们利用移动设备进行学习成为一种可能。Gartner的数据显示,苹果iOS操作系统设备2017年出货量为5199.25万,相比之下Android设备的出货量高达3.271亿。若换成市场份额,iOS当前仅剩下13.7%的市场份额,而Android占比高达86.1%。所以利用JAVA语言编写安卓手机的作为上位机也成为可能。
Robot with blanc screen tablet computer.
现在蓝牙串口通信模块都很便宜,蓝牙模块,是一种集成蓝牙功能的PCB板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯。
3d 蓝牙设备的连接
Android平台包含了蓝牙框架,使设备以无线方式与其他蓝牙设备进行数据交换的支持。 Android提供蓝牙API来执行这些不同的操作。扫描其他蓝牙设备;获取配对设备列表;连接到通过服务发现其他设备。
单片机的串口可以跟蓝牙串口通信模块通信,手机都有标配蓝牙,安卓编程很普及,所以买个蓝牙模块,十块钱左右,用手机直接控制单片机数据传输很简单的。
上位机开发之单片机通信实践
经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的。PLC的本质就是单片机,在单片机的基础上添加一些外围电路并形成产品化,即构成了PLC控制器。今天在这里给大家分享一个上位机与单片机通信的实例,希望对大家开发上位机有所启发。
1. 单片机硬件介绍
只要做上位机开发,就离不开通信协议。一般来说,单片机可以与上位机之间以串口通信为主,当然也不排除现在有的单片机也集成了以太网口。就串口通信而言,常用的几种通信方式,包括串口自定义协议、Modbus协议、CAN总线,接下来介绍的这个单片机是某个锂电池的核心板,它主要是支持Modbus协议和CAN总线的方式。
2. 通信分析
(1)这里我们选择的是基于485总线的ModbusRTU通信协议,如果要实现上位机开发,需要单片机开发人员提供一份通信变量表,如果读取变量较多或者不连续,需要进行分组读取。
(2)通信变量表一般包含参数名称、Modbus地址、存储区、数据类型、换算公式等内容,能够将通信变量表看明白并完成通信测试,是能够完成上位机开发的前提。
(3)这里,我截取部分变量表跟大家做一个分析:
上表中,以电芯总电压为例,Modbus地址为0x1003,对应十进制即为4099,寄存器地址即为44100,读取类型为ushort类型,换算公式为读取之后乘以0.01,比如读取值为5630,即为5.63V。
分析明白之后,我们就可以先用ModbusPoll软件来一波初步测试,如果需要Modbus软件资料的,可以私信我留下微信号,我让助教老师给到你。
这里我们需要通过485转USB连接到电脑中,然后通过设备管理器,看到端口号为COM4。
3. 通信测试
(1)打开ModbusPoll软件,通信参数选择COM4、9600、N、8、1,具体配置如下图所示:
(2)读取寄存器起始地址为4099,读取长度为10,具体配置如下图所示:
(3)配置完成后,即可读取到单片机的数据,具体如下图所示:
(4)实现读取之后,我们分析一下结果,4099读取到的值为4206,说明当前电池的电压为42.06V。我们可以用实际开发完成的上位机软件做下对比,验证一下数据是否正确:
4. 整体总结
本文主要针对单片机的Modbus通信实例做了较为详尽的描述,由于篇幅有限,仅仅介绍了通信测试部分,对于后续的项目实战部分,会通过后续的文章进行进一步的阐述。
我是新阁上位机付老师,用我的专业,成就你的梦想!
相关问答
c语言 上位机 是什么?C语言上位机是指人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一...C...
上位机 怎样实时检测 单片机 所测数据?这个很简单,花个几十块钱买个蓝牙收发模块就行。单片机有串口就行,接串口蓝牙小电路板,上位机手机进行搜索连接。不过你需要进行二次开发,手机端需要开发蓝牙...
电脑怎么让两个应用同时执行同一个命令,例如阅读,怎么让多个...分别开发上位机和单片机程序,然后用串口通讯。首先,电脑需要能正常和单片机通信,一般使用串口,很方便其次编写一个上位机程序,能通过上位机和单片机通信,再...
通过 单片机 JTAG接口与 上位机 进行通讯?JTAG口一般是在线调试用的,你为什么一定要用这个!不同单片机在使用JTAG的时候状态是不一样的,有些在使用JTAG口时要禁用一些功能。如果你只是想与PC通讯,推...
怎么写设备的USB驱动? 我用PC电脑做 上位机 ,下位机是个 单片机 ...如果你是开发上位机,就需要相关的IC来支持的,IC的作用是协议转换,将上位机的USB相关的协议格式转换为下位机的协议,下位机协议通常有SPI,IIC,UART等等。我目前...
上位机 (VB)与下位机( 单片机 ))如何实现通信?能实现:通过虚拟机来测试,这时需要虚拟串口软件,需要虚拟出串口来实现互连。仿真方面:实现按键发音,并发送相应信息给上位机,通知上位机哪个键子按了。其...
上位机 与plc的区别?一、主体不同1、上位机:可以直接发出操控命令的计算机。2、PLC:直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。二、通讯协议不同1、上位机:...
上位机 用串口调试助手发送十进制数, 单片机 收到后在数码管显...这个如果要帮忙的话,看左下角返回给上位机是没有变化的,只是显示数制不一样了。单片机在收到数据后直接把数据按十进制分成几位再动态显示在数码管...
单片机 、光耦[回答]那么针对粮食储藏的特殊性,我们选择了粮仓内的温度和湿度作为主要监测参数,把粮虫发生情况作为辅助参数。整个监测系统由上位管理主机(HOST)、USB/...
电控系统中, 上位机 啥意思?电控系统中要通讯的,中央控制室的主机一般叫上位机.下位机可是分控制室的计算机,也可是DSP,单片机等.电控系统中要通讯的,中央控制室的主机一般叫上位机.下位...