究其根本,做不到并不是现有NI的技术问题无法解决,而是LabVIEW的编程历史包袱太重,导致「框图缩放」改动开发成本根本让NI公司及其他第三方工具关联方无法承受。
让咋们具体的来看一下详细的原因。
问题出在哪了?
另辟蹊径
当前应对
未来之路
1.问题出在哪了?
「LabVIEW的编程框图缩放」功能的缺失,是被人吐槽LabVIEW不好用的槽点之一,甚至连维基百科都要把它列入到LabVIEW缺点清单里,已经到了人神共愤的地步啦!
众所周知图形化编程环境的编程真的就是在画图啊,没听说哪款绘图软件不支持图片的放大缩小的!
就连LabVIEW程序框图编辑都支持代码片段图片(PNG)拷贝编程呢。
框图变成图片示意图:
在我的知乎问题「LabVIEW查资料一般去哪儿啊?」我曾经提到过NI英文官网是最重要的资讯之地:
5.NI美国区网站(社区及论坛)通过网站区域设置改为美国,切换到英语语言,你将能获取到最全、最新、最优秀的LabVIEW的新闻咨询和技术编程资料,想要从初学者迈向中高级开发者,绝对不能错过NI的大本营。
同样溯本清源,「LabVIEW的编程框图缩放」功能的缺失的原因也在这里!
在2009年,NI公司为了加强对客户的开发支持和问题响应,开放了官方论坛的Idea Exchange,用来获取一线客户对旗下的产品进行功能升级和更新,客户负责贡献创意想法,NI负责择优选用负责实施开发。
毫无疑问的支持LabVIEW的编程【框图缩放】功能呼声颇高,并且随着高分屏的普及,所面临的问题越来越尖锐。
具体的创意详细讨论与回应请参见链接(感兴趣的同学请自行前往观看):知道大家时间宝贵,我从中汲取了几个具体的重点原因汇总于此:
LabVIEW的编程环境(前面板、框图、图标等等)严重依赖于光栅图形AKA位图图像,该格式的图像支持缩放功能效果很槽糕。而与之对比的文本语言的编辑器,则非常易于缩放,因为大多数字体都是基于矢量 基于矢量的图形可以便于缩放,因为它们被定义为彼此相关的线和形状,而不是网格上的一组点。当有放大图形的操作时,这些图形将按比例重绘。
尽管NI官方出于代码软件工程模块化的原因,强调功能分解而提倡小型框图,但我们并未将其作为没有缩放的根本缘由。
现有版本中有很多使用整数坐标系的LabVIEW代码, 为了能够适当地缩放LabVIEW编程环境(前面板和程序框图),所有以前的这些老代码均需要更改为浮点系统。这项任务不是一件容易的事,最悲催的是还没办法自动化编码。LabVIEW编程环境本身许多部分,都是可以方便的予以扩展的,缩放功能的增加,必然要导致整个现有框架都需要进行修改,以便其发挥作用。
要考虑缩放所有不同的文本样式、字体,以及多国语言支持。
框图图形元素放大时,单个像素线可能会变成矩形,这会引起其他依赖坐标系的绘图问题。
需要考虑将子VI从一个放大状态拖动到另一个放大状态的VI
以上只是官方内部不支持缩放功能的部分原因清单。最终,这个「编程环境支持缩放」功能要求还是被NI官方无情的拒绝了!理由结论就是现有的框架结构不能支持满足该功能的变更。
故事到这结束了!?不可能,看这回答的篇幅都知道肯定还有反转。
2.另辟蹊径
是的,让吃瓜群众开心的反转来了:2016年年初,「LabVIEW的编程框图缩放」的想法创意请求重新被标准为“在开发中”。
广大吃瓜群众喜大普奔!
但是研发的结果却是让人大出意外!全新的打造的LabVIEW NXG全面支持面板和框图缩放功能,也直接宣告了缩放功能将永远不会出的现行版本(LabVIEW CG)当中。
好吧,一个问题的反转,又引入另外一个新问题:什么是LabVIEW NXG ? 和现行的版本关系是什么?(回头有空我给大家好好说道说道!)
关于LabVIEW NXG的一些界面效果演示图
3.当前应对
综上,如果使用现行(LabVIEW CG)的版本开发,还想要框图缩放功能,那么官网的对应的解决方案如下所示:
使用LabVIEW导航窗口
使用Windows放大镜工具
增加字体大小
降低屏幕分辨率
使用图标查看
模块化
LabVIEW NXG
4.未来之路
综上,从目前NI公司对LabVIEW的现有版本编辑器的维持态度,加上资源倾斜至LabVIEW NXG,以满足配置化,工程化以及网络化的编程环境大势所趋的要求。
所以,大家也就不要奢望着——能在有生之年看到现行的版本中「程序框图缩放」的功能啦!
我是知乎_李时珍,在知乎上聊LabVIEW最啰嗦的中年油腻大叔,没有之一!此文是我在知乎上回答问题的缩写版本!
如果想看全版本请移步知乎!
也可以在公众号给我留言,发送”框图缩放“,我发问答的链接给您!
文章看时容易,写时难,希望小伙伴们积极的点赞、转发、在看三连击!
大叔的输出需要大家的支持和鼓励!谢谢!