Matlab终于出了像样的控制界面,Labview, 就问你怕不怕!?

Matlab终于出了像样的控制界面,Labview, 就问你怕不怕!?

On

作为最流行的数据处理,建模仿真软件,Matlab 称第二,恐怕没人敢称第一吧.   如果再配个simulink,那就更加强大了,各种控制系统的模拟都不在话下,而且,设计的便利性随着版本的不断更新,也随着提高。 Matlab 的图像控制界面(GUIDE)是真的够简陋的~~~虽然,Matlab提供了instrument control toolbox 来配合VISA来连接各种仪器设备(真心很方便),还是想离他远一点,去找大哥Labview 来开发界面控制系统,人家要啥有啥,各种形式的开关,指示灯,旋钮等等等。那设计出来就是高端大气上档次~!pos个官方网站的图 再看看GUIDE 对于大量数据的展示,Matlab 有优势,但是作为控制系统界面还是得看Labview的。 Matlab 的工程时们也深深感受到了GUIDE带来的无力感,在Matlab 2016年的版本中,加入了App designer这个模块,从此,Matlab 终于可以挺直腰在图形控制界面开发方面跟Labview一拼搞下了。 有图有真相,加入了各种旋钮,指示表,开关等,看上去还是少点什么,但是在向好的方向发展。 最初的版本,不能建立多窗口app,也就是说不能通过一个app打开另一个app,不能直接通过app数据互通。 不过,2017b 之后的版本,就有了设立子app接受父app数据的功能,这样就很容易可以建立多窗口app,创建方法见之前的文章。 对于多硬件设备实时接收数据,Matlab 还是显得有点力不从心,虽然可以通过无穷loop循环来遍历各个设备来实现,但是有点强弩之末的感觉。 而且,loop循环的缺点就是会占用资源,Matlab从而不能对其他的操作作出反应。尤其是进行程序调试的时候,不得不停下循环来调试,对开发带来很大不便。   app designer中的函数是不能用无穷loop的,直接app就卡死,完全没有反映了。这时候要把这个loop函数放到Matlab workspace中,建立.m 函数,app 调用包含这个loop的函数就不会卡死app了。关于函数的介绍,请看之前的文章。    

Matlab GUI (Guide)

On

声明:本篇适合有一定matlab编程经验的老司机。基本的原理解释,操作方法网上一搜一大把。 Matlab 的界面编程不算强大,非要用matalb做界面的话,主要看重的是界面背后其强大计算能力,个人感觉,工程应用控制中还是Labview用的多。 命令行输入guide,就会启动应用界面窗口。具体建立方法不赘述。 可以参考一下链接: https://getpocket.com/a/read/166068636 https://getpocket.com/a/read/1231047199 跟着做个例子就明白了,照猫画虎就行了。 重点: 编程中,数据传递问题。 项目中遇到一个问题,例如,界面参数框中调用参数时,报错,说不存在或是未定义。 原因:调用函数的返回结果,需要handles.XXXX 来调用。 handles 感觉就是界面的总指挥,通过handles加“.”来使用。 ·hObject是当前控件对象(面向对象技术中的概念),索引或设置当前对象时只需要引用hObject就可以了。例如:改变当前空间的可见性,只需调用set(hObject,’Visable’,’off’)。 ·eventdata我暂时没有用到,所以暂且不管他 这里handles还有一个作用就是在不同控件间进行参数传递,只要对handle的成员变量进行赋值就可以了。 强调: 对于guidata(hObject,handles)数据更新的时候,一定一定一定要在handles中数据发生变化之后调用,将发生变化的变量保存。

Skip to toolbar