仿真
出现情况:
- 仿真程序偶尔可可以运行(比如重装labview软件后,打开仿真程序还未完全搭完时的版本运行,再打开当前版本,可以运行),但仿真程序发给其他人,都无法运行,一次都没有
- 仿真程序若能运行,则输出结果和我预期相仿,若不能运行,则点击运行后,画面正常显示,但任何控件均无法操作,几秒后卡死崩溃,LabVIEW软件也一同崩溃。没有提示
- 生成.exe文件,.exe文件打开后界面全白,不显示任何空间,几秒后卡死,自动关闭。没有提示
仿真程序描述:
简单的说我只用了很少种类的控件,将76个图形下拉列表控件搭建成一个供电系统的模型,旨在我改变某个控件的状态,能够生成正确的供电逻辑
实现方法,将76个控件读取状态至一个数组,然后直接将数组输入进一个公式节点,在公式节点内判断逻辑,最后输出,公式节点内用C语言代码(大约600行)。公式节点处还有18个输入变量,均为数组,因为供电系统稍显复杂,有很多控件的供电路径我是用数组去记录的。最后输出到这76个控件显示。
整个程序套上大的While循环,并加上延时控件,保证程序的持续运行,且不会循环过快占用CPU。
(因为今年年初要做毕业设计才用的LabVIEW,所以不是那么懂,C语言比较熟悉,所以就LabVIEW的壳子,内部逻辑还是C语言)
在做仿真程序的过程中,还没有像现在C语言代码完全写完的时候(大约写了400多行的时候),那时程序可以正常仿真,没有出现过错误,且生成.EXE文件完全在正常。在此之后我没有新添任何新种类的控件,只增加了大约4个数组,100多行代码,现在就不行了。
从我能正常运行时,输出结果是和我预期相符的,我感觉我的代码逻辑上是没有问题的
从我中途程序能正常运行,说明我大的结构应该也没什么问题
现在我尝试过在公式节点内的代码,把它删掉那些逻辑判断的部分,只保留一些初始化的东西(也就是程序就剩一个空壳了,没有具体运算功能),这个时候程序正常,且能正常生成.EXE
所以我就有点搞不懂问题出在哪里了,猜过是不是公式节点不能放那么多行代码,但又没找到说明文件里类似的要求。
所以是我代码写的性能不行么?可又有时候能正常运行,且反应挺快的。如果不是这个原因又是什么呢?
请大神解答,我已经尽可能的把程序和运行情况写详细了。
更多回帖