C++/QT控制通过VISA控制硬件设备,超级容易学会的控制硬件方法
一、起始的畏惧我主要是做磁场方面的课题,所以需要控制电源。然后电源是VISA协议的,一开始我完全不知道咋弄。我相信大家一开始接触硬件都是很懵逼,要控制他需要什么什么协议,听着是不是头都大了啊!! 我当时何止头大,都想不毕业了,太难了!!!但是抹干了眼泪还是要毕业啊!! 一点一点的搞。搞了很久发现除了会手动按这个玩意。。看这道光都快闪瞎了我的眼,我还敢去控制它吗??没办法 未必不毕业了? 学!!!!
一、起始的畏惧
我主要是做磁场方面的课题,所以需要控制电源。然后电源是VISA协议的,一开始我完全不知道咋弄。我相信大家一开始接触硬件都是很懵逼,要控制他需要什么什么协议,听着是不是头都大了啊!! 我当时何止头大,都想不毕业了,太难了!!!
但是抹干了眼泪还是要毕业啊!! 一点一点的搞。搞了很久发现除了会手动按这个玩意。。
看这道光都快闪瞎了我的眼,我还敢去控制它吗?? 没办法 未必不毕业了? 学!!!!!
网上看了很多关于VISA控制电源的。我发现就算拿来了 我这边也不能直接用。 所以大家一定还是要靠自己理解啊。。
二、有序的学习
理论学习
开始一点一点的接触啊。看软件语言到底是怎么控制硬件的。
就是这四大步骤。理论知识学了,该实际操作!!!
实践学习
建议大家对于有硬件的小伙伴,为了节约自己的时间直接打电话给硬件厂商要技术支持,他们会省去你很大一笔时间的!!!!
VISA有一个程序可以输入SCPI指令。SCPI是什么呢?
这个指令就是我们控制电源的命令(字符串格式) 我们C++控制的时候,将要写的命令存在一个字符串,然后调用ViWrite就可以成SCPI去控制电源了。 我拿真实例子给你们打比方。
1.我先去查询了我电源的编程手册(找技术支持要,或者你直接找他找C++控制硬件程序都可),
2.第一步手册查出,开电源的开关的命令是:output 1 (0是关闭)
3.我们先在VISA的软件里输入这个SCPI命令看是否正确,你这步都不对,就算C++程序写好,你照样不能控制硬件。
在这里你可以看到你硬件的设备号,这个不知道的问硬件的技术支持或者你硬件面板应该都有! 然后双击连接
点开后点Input/Output,红框就是我要写入的指令,我开始写入打开电源指令了。然后点write
终于可以用电脑控制硬件了,开了一整天!!!电源亮了的图片忘记照了改天补上~~
三、直接上C++控制
因为我们控制硬件肯定是为了要有一些逻辑,要让硬件疯狂输出!直到我们毕业为止~~~哈哈哈哈
程序的算法必须要放在硬件上跑的!!
那么这就需要借助VISA协议了。它真的很牛叉,让我们只用调用几个api就把硬件搞得服服帖帖!!!
之前的流程图,我再用一下,我们跟着写。
但是这些的前提,我们至少要导包啊。。。 毕竟是api,虽然我们不写里面的程序,至少要它存在我们的程序中啊!!!导包如下:
INCLUDEPATH += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include"
LIBS += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc\visa32.lib"
头文件要包含 <visa.h>
砸门就可以开了的使用这些api了。
代码在此处免费获取:
https://download.csdn.net/download/qq_40262372/14988711
你们从 最下面的on_pushButton_clicked()看,这里是程序开始的地方
我这里先是 openDev(DC[0]); 这个openDev 在最上面的里面有两个指令对应着我们流程图的前两个流程。 DC[0]是我硬件的地址。
然后我开始循环写电流了, writeToDev(0.1*i); 里面就是把这个double的数组转为char[] 然后viwrite到visa。
VISA利用这个命令就可以控制硬件了。这个命令都是在硬件的控制命令都有的。 代码获取处(免费获取):
如果觉得对你有帮助的话,可以点个赞收藏之类的哦! 谢谢! 手都敲疼了。。。
如果大家还有什么不懂的话,可以进Q群找我聊:725936761
我这边也同时在准备计算机方面的工作,有兴趣的朋友也可以加群,我这边也有一些我刷题的经验(包治包爽的那种) 和一些后端知识的感想。
B站视频讲解:https://www.bilibili.com/video/BV1f5411n7dU
刷题经验:https://blog.csdn.net/qq_40262372/article/details/112556249
后端发展之路:https://blog.csdn.net/qq_40262372/article/details/112610241
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)