weiyd007 发表于 2007-1-22 16:50:32

求助,关于XY Graph图形显示问题

我最近在做从串口接收的数据在XY GRAPH中显示
数据是4组数据,在XY中用4条曲线显示,4条曲线用4个按钮控制其显示或不显示。
请教高手
我现在的问题是,
比如我第一次显示3条曲线,第二次我想显示4条曲线,但是我不得不刷新下一个总的控制按钮,
怎么样才能做到比如我第一次显示一条曲线,第二次显示两条曲线的时候不需要刷新直接在XY上显示???
或者第一次显示4条曲线,当我按下其中一个不显示的按钮时,这条曲线自动消失,而不是我要在刷新一下才可以??
大家帮忙啊。。。。。

飞雨天 发表于 2007-1-22 21:13:43

不好意思,我不是特别清楚你说的总的控制按钮,刷新?不过附件应该能够帮助你~~

[ 本帖最后由 飞雨天 于 2007-1-22 21:15 编辑 ]

weiyd007 发表于 2007-1-23 11:16:46

谢谢飞雨天
多谢你的程序,正好符合我的要求的。当你按显示则显示曲线,按不显示则不显示曲线
但是我的程序是事件结构,里面加个循环的话,内存就耗光了。
不加循环的话,功能实现不了
如果不用循环的话,该怎么做呢
谢谢。。。。。。

oneforlove 发表于 2007-1-23 11:49:59

在循环里面加一个延时的VI,这样可以减少CPU的占用率。你可以试试。

飞雨天 发表于 2007-1-23 13:42:32

回复 #3 weiyd007 的帖子

呵呵,事件结构里面最好不要加循环,这个就好比我们平常用c写的中断,你不可能在中断服务子程序中放一段很复杂的代码的,你说呢?
至于你的问题,在你的事件结构中是做什么的?除了显示以外还做什么?还有你说的刷新我还是没有明白:L :L
但看上去好象你是程序结构没规划好,你可以自己再次规划下,或者回答上面的问题,让大家帮你参谋~
另:oneforlove兄所说的也是一个解决办法,在labview中,建议所有循环都加点延时,100ms差不多了,具体看你程序运行时间。。。

weiyd007 发表于 2007-1-23 16:14:02

谢谢飞雨天
我把部分的程序传给你看把

weiyd007 发表于 2007-1-23 16:17:49

我现在是想当我按下ZQ显示时,在XY中自动显示,而不是要按下“显示波形”才可以。
或者按下ZQ不显示,在XY中自动消失。
我刚才试过了在里面加上循环加上延时,但波形出不来了
高手指点一下

weiyd007 发表于 2007-1-23 16:21:05

在说明一下,ZQ代表左前轮速,YQ代表右前轮速,ZH代表左后轮速,YH代表右后轮速。
我现在在做汽车轮速的测量。
我不是汽车工程之类的出身,我是电子专业,刚接触LV,好多不懂啊

飞雨天 发表于 2007-1-23 16:25:46

呵呵,界面还不错啊,赞!!
其他我先看下。。。

weiyd007 发表于 2007-1-23 16:28:30

呵呵
多谢夸奖
不知道我说明白没有,嘴笨啊

飞雨天 发表于 2007-1-23 16:40:40

回复 #7 weiyd007 的帖子

你把这个东西放在了“显示波形”的事件里,所以你按什么ZQ之类的当然没办法触发这个事件响应了,除非你把这些代码放到ZQ等对应的事件响应中。读取文件是没必要一直读取的吧?1000行进来以后就是对那个1000行数据的操作?如果是,那么你把这个读取和算法处理放到循环外面去,输入到循环的就是4个波形,然后,应该就和我上次的附件一样了,只不过我那个是两个波形处理,而你这是4个。
对了,还有一点不同,这次你的bool是一个数组?这样做是很好的。那么你就可以用bool array to number把它转化为10进制数字,然后输入到case的选择端子中。

weiyd007 发表于 2007-1-23 16:55:07

茅塞顿开啊
谢谢飞雨天。。。。
等我做好后,贴上来大家一起看看。

weiyd007 发表于 2007-1-24 09:01:19

呵呵,
我的框架是有问题,
图片就不上传了,
更改如下:
把显示波形这个控件去掉,用ZQ,ZH,YQ,YH这个数组作为事件响应的触发条件
这样就实现了自动显示或不显示的功能了。
:victory:
感谢飞雨天,感谢oneforlove,感谢大家。。。。
页: [1]
查看完整版本: 求助,关于XY Graph图形显示问题