今天某群里有人在问一个问题,说手里有个excel表格,里面有很多公式,然后想在程序运行时,动态的导入这些公式到LabVIEW中,然后LabVIEW根据公式计算并返回结果。
简而言之,就是想差不多实现下面这个Express VI的功能,但是需要动态导入程序外面的公式。
因为,我们在使用这个Express VI的时候,会让我们配置公式,这个只能编程开发时候输入,然后根据公式生成对应的输入输出。
又在某论坛搜了搜,有人有类似的提问,但是,依旧没有结论。
使用表达式、公式节点、脚本节点等,对于一些数学和逻辑运算,确实比纯图形化的来的方便,也容易阅读。
不管是用哪种方式,一般都是在编程开发时候,配置公式或者脚本,一旦生成了EXE,如果想要改公式,就不可能。(可能有人会考虑到使用第三方程序,比如.NET或者DLL来封装公式,或者调用python等,单这不是讨论重点)
那么,有很人就会有这么种需要,就需要能够在前面板输入公式,或者导入公式,后台根据公式计算。
为什么会有这种需求?这种需求场合也不少。之前我曾经遇到的,就是类似之前发发布的小草自动化平台那种,测试序列里有某些项目,是固定的,但是公式不固定,不固定的原因有很多种,这里就不赘述,反正目前就是有人有这个需求。
那么,如果在前面板输入公式,当然是用到字符串。一般人肯定会想,利用字符串函数去解析公式,比如,利用搜索字符串函数,正则表达式等等,例如查找到+,就解析为运算符+,解析到数值,就变成数值。我也见过一些人这么干,对于简单的四则运算,如此解析当然不是问题,复杂点的函数难道还这么搞?
有没有更加快捷的方式,LabVIEW这么强大,难道没有现成的函数可以用?
有,但是一般人未必知道,现成的函数如下图所示位置。
例如,假设我们有一个x是作为输入值,需要动态输入公式,如下图所示,在前面板输入公式,利用单变量求值,即可或许对应的公式计算值。当然,还有很多其他函数,大家根据自己需要去使用。
那么,回到文章开头问题,直接导入excel的公式到字符串里,然后输入给公式函数就完成啦,个别复杂函数需要验证下,但是对于一般要求,足够用了。
很多时候,我一直在考虑写公众号的意义。毕竟写基础的文章,百度能百度到一大堆,写复杂的又不好写,我也用不到很复杂的。后面想想,意义大概在于,一是自我总结,二是让我的关注者们可以了解到我的总结经验,未来说不定哪天可以用到。毕竟LabVIEW的函数太多,不可能一个一个去弄明白,外加那么多模块和工具包,函数更是数不清。
今天说的这个公式输入问题,其实很多年前我自己也考虑过,后来发现可以有直接的函数,但是,光我知道是不够的,还是要多分享,不然总会有人再问。
目前这个公众号关注量已经15000人了,虽然阅读量并不多,但是写出来发布,多少应该也可以帮助到有需要的人,特别是长期支持我的粉丝们。
最后,祝大家周末愉快!
联系客服