【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】

2023-10-07 10:01

本文主要是介绍【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】

  • 1、前言
  • 2、实验环境
  • 3、自我总结
      • 1、基础了解仪器控制-熟悉仪器
      • 2、连接SCPI协议
      • 3、选择控制方式-程控方式-RS232
      • 4、代码编写
  • 4、熟悉协议-SCPI协议
  • 5、测试实验-测试指令
        • (1)硬件连接
        • (2)指令测试
  • 6、QT实验-编写QT代码
  • 7、实验代码
  • 8、细节部分
    • (1)指令要遵循格式-指令测试
    • (2)硬件连接RS232
    • (3)输入错误或者错误指令
  • 9、总结

1、前言

你使用一个东西越久,你就会发现它能做到的事情可以很多,对自己来说,qt就是这样,刚开始学习时,其实也是什么都不懂得的,后来慢慢的熟悉,通过不同实验,以及使用方式,发现能做到事情越来越多,这里也有你对这个工具的理解程度。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:window环境
QT软件版本:qt 5.14.2
在这里插入图片描述
硬件连接:USB转RS232的转换器和转换线
在这里插入图片描述

程控电源:IT6723

在这里插入图片描述
连接线:9DB转接线
在这里插入图片描述

3、自我总结

1、基础了解仪器控制-熟悉仪器

在进行程控电源前,一定要对电源本身有一定熟悉,给到一个电源,至少能通过上边按键进行控制,选择出自己需要的电压或者电流,另外就需要查找这个仪器的说明书,看看都可以进行什么样的控制,支持不支持程序控制。
如上图,搜索到,这是艾德克斯的IT6723,一般在网上搜索,就能找到官网,需要注册号。
在这里插入图片描述

官网链接:https://cdn.itechate.com/cn/product.html

然后我们找到这个一起说明书,如下图。
在这里插入图片描述
一般不出意外的话,你应该看到如下说明,就是这个电源的说明了。

链接:https://www.itechate.com/uploadfiles/%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C/user%20manual/it6700h/IT6700%20Programming%20Guide-CN.pdf
在这里插入图片描述

2、连接SCPI协议

(1)为了更好的控制电源,我们需要了解SCPI协议,并且这个电源文档也有简绍,打个比方,就像学习英语一样,与电源沟通的“语言”或者指令。
在这里插入图片描述
上述,也对这个SCPI,进行说明了,更为详细可以去网上搜索,你只要知道它是一种沟通方式就可以了,并不依赖RS232这一种通信硬件

3、选择控制方式-程控方式-RS232

本次选择的RS232,但是你要是仔细看说明书,可以发现,至少这款程控电源,不只是RS232,本篇是使用RS232进行调试,如下,有其说明,如果你是其它类型电源,并且协议也是SCPI的话,还要考虑接线细节。

在这里插入图片描述
在这里插入图片描述

4、代码编写

熟悉玩了后,最后才是代码编写,当然我们先要做个测试,使用串口软件,进行通信,看看是否能控制,如果能控制,那么程控就简单了。

4、熟悉协议-SCPI协议

简单了解下协议,上网搜索,还是挺多的,这里只是列举,更多大家可以自己查找,简单说,它是一条通信方式,一条指令集,专门音高测量仪器上的。
参考链接:https://blog.csdn.net/weixin_45692672/article/details/113832043
在这里插入图片描述
参考链接:https://zhuanlan.zhihu.com/p/565512748
在这里插入图片描述
具体到文档里,本次实验,参照说明书,如下为其中一个指令
在这里插入图片描述

5、测试实验-测试指令

在正式编写QT代码前,我们需要作测试,就是直接使用串口软件控制程序电源,同时来熟悉指令。

(1)硬件连接

我们需要先连接好硬件,才能调试,将USB转串口转换器查到PC上,找一个DB9,公转母的转接线。
在这里插入图片描述
另一端插在电源背面上,如下图所示。
在这里插入图片描述
然后我们打开一个串口软件,按照协议说明,一条一条,测试相关命令,如下图所示,我们使用一个指令,并且设置波特率9600,如何正常,就会有相关信息返回来了。

SYST:VERS?

在这里插入图片描述

(2)指令测试

为了更好了解,我们更多指令测试
(1)这期间可能会有仪器不响应,因为如果控制成功的话,是不返回信息的,所有有时候你也不知道,是不是自己控制成功了,多长是吧。

(2)从自己测试来看,好像并不是每条指令都会响应,但是一般查询指令都会响应

(3)以下罗列,是自己测试的,具体可以根据协议说明书来

DISPlay?  
VOLTage?	//询问当前电压
*IDN?		//电源系统版本
OUTPut ON	//电源控制--开
OUTPut OFF  //电源控制--关
SYST:REM
SYST:ERR?   //询问系统错误
*ESR?
TRIG:SOUR EXT; COUNT 10
APPLy 12,1  //设置电流电压 12V 1A 

如下,是测试时,填入的指令
在这里插入图片描述
如下是,是测试时,返回情况,记得点上,发送新行
在这里插入图片描述

6、QT实验-编写QT代码

如果上边指令测试差不多了,基本就可以进行qt相关编写了。
其本本质是“串口通信”,也可以说是串口实验,可以参考之前样例。

参考连接:【QT 5 调试软件+串口相关初试串口+基础样例】
如下图,我们简单更改下波特率
这里需要注意的是,需要先设置电源上的波特率,和通讯方式,这块是需要对仪器的熟悉
在这里插入图片描述

再加入相关控制指令,记得加入“\n”.
在这里插入图片描述

7、实验代码

实验代码:https://download.csdn.net/download/qq_22146161/88399153

8、细节部分

(1)指令要遵循格式-指令测试

自己在测试过程中,开始不是很懂,测试过也不知道成没成功,并且控制成功后,其实电源不会有任何声音反应,反而是错误的时候,会听到蜂鸣器响声,并且对格式有要求,只能自己多测试熟悉。
如下是自己测试记录,也是测试很多的。
在这里插入图片描述

(2)硬件连接RS232

自己连接时遇到的,看是没有使用DB9公转母线,使用杜邦线直接插的,发现怎么都不好使,这块最好买实体线,或者多测试,如果发现任何指令都不行,那么建议查找线的问题。

(3)输入错误或者错误指令

我们在使用指令,进行测试后过程中,由于不熟悉,肯定会犯错误,输入错误指令,这款电源,会默认储存10条错误,看说明上有写,通过询问,会依次打印一条错误信息。

对于错误信息,后面会有个对照表,告诉你是因为啥错误的。
在这里插入图片描述

9、总结

就拿本章的程控电源来举例,它的本质其实是串口通讯,另外你需要使用一些简单的命令语言,就可以能控制起来了。

之前是做过相关串口实验的,只需要一个RS232的转换器就可以了。

这篇关于【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/157615

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件