labview事件结构,事件超时创建常量为0怎么理解?超时分支怎么处置?

labview事件结构,事件超时创建常量为0怎么理解?超时分支怎么处置?,第1张

事件的执行需要消耗时间

如果在设定的“”超时“”时间内没有完成事件,那么久终止响应当前时间进入超时事件

超时时间设置为-1代表永不超时,永远不会进入超时事件,事件未完成程序会一直等待。

当超时时间设置为0,很多事件都不会正常响应。

超时时间可以自己定义,比如超时后执行控件初始化等等根据需要自行定义。

超时就是字面上的意思,超过设定的时间。超时事件就是指超过设定时间这一事件。

举个例子,你和某人约定8点钟在某处见面谈事情,结果等到了8:30人还没出现,于是你给对方打电话。这其中,30分钟其实就是你设定的超时时间,过了8:30,就超时了,超时事件触发,你给对方打电话,打电话这个行为就是超时事件的分支框内所对应的代码。

换成LabVIEW里的例子。串口通讯在设置时可以配置一个超时时间,比如10秒,那么串口在读取时,若串口缓冲区内没有接收到数据,等待10秒之后,超时事件触发,串口读取函数就不再等待了,继续往下运行。

不知我这样解释你能否听明白。

请你严格按照labview自带的串口 驱动 范例: basic serial write and read! 去做

如果自己找不出原因来,就按照范例里的程序跑通。

串口通讯是最基本的通讯, 不要自己人为的随意设置或者修改NI公司已经做好的驱动模块,尤其是在没理解原理之前!

首先: 你的初始化模块使用错误

你没有严格的配置初始化属性, 就是 波特率, 奇偶校验位, 停止位等属性

其次: 你在循环中的读取和写入模块中添加了时间延迟,可你并不知道到底需要延迟多少ms

所以很有可能出问题。

再次: 读取和写入模块分别是以字符串形式输入输出的, 你需要转换, 并且定制协议,以保证

传输数据的格式是正确的

最后: 你没有加任何报错机制,导致最后无法查看错误原因。

综上你需要做的就是,找到NI自己的demo, 跑通后再考虑下一步,如我前面所说。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11277120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存