请教:关于lonworks网络中的网络变量传递 点击:2685 | 回复:7



柠檬

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 29回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2004年9月01日
发表于:2005-05-09 09:57:00
楼主
请教高手: 我在两个节点间使用绑定的网络变量来实现通信和数据传递。 1. 从节点的输出变量与主节点的输入变量绑定,在默认情况下,这些变量的值在网络上是更新传递,还是定时传递? 2.主节点中我用when(nv_update_occurs)事件来驱动一些操作。但是实验发现,神经元芯片对这个事件的响应非常慢,不知道是网络传输的问题,还是神经元芯片对事件的响应时间问题。请问如何能比较快的响应变量更新事件?有什么改进的方法可以实现两节点的通信吗? 3.两个节点间我通过绑定的8个变量实现数据传递,从节点连续修改完这8个变量,然后再通知主节点取值。请问按顺序连续修改这些变量时,它们的更新值在网络上是轮流传送的吗?连续修改这些变量会不会引起网络的堵塞? 恳请高手指点,十分感谢~



zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-05-09 16:02:00
1楼
1. 从节点的输出变量与主节点的输入变量绑定,在默认情况下,这些变量的值在网络上是更新传递,还是定时传递? 默认情况下??一般是网络变量发生变化网络处理器发送网络变量. 说了那么多废话其实就是更新传递. 自己可以做不变化的网络变量的广播传递. 2.主节点中我用when(nv_update_occurs)事件来驱动一些操作。但是实验发现,神经元芯片对这个事件的响应非常慢,不知道是网络传输的问题,还是神经元芯片对事件的响应时间问题。请问如何能比较快的响应变量更新事件?有什么改进的方法可以实现两节点的通信吗? 有网络传输的问题,事件的响应时间也是一个因素. 和你的应用程序有很大关系, 你的应用程序有没有比较大的任务? 执行的时间比较长?? 3.两个节点间我通过绑定的8个变量实现数据传递,从节点连续修改完这8个变量,然后再通知主节点取值。请问按顺序连续修改这些变量时,它们的更新值在网络上是轮流传送的吗?连续修改这些变量会不会引起网络的堵塞? 网络的问题交给neuron chip.我们只管用就是了. 至于堵塞???不是有lontalk的算法吗...trust it         恳请高手指点,十分感谢~

柠檬

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 29回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2004年9月01日
发表于:2005-05-09 19:51:00
2楼
非常感谢风云_际会! 我现在是用神经元芯片和单片机进行并口传输,从节点有数据过来,就用nv_update_occurs()事件触发,然后主节点将相应变量里的数据通过parallel IO的方式传给单片机。 您刚才说有网络传输问题,也有响应时间问题。我的网络上一次最多更新8个变量,约240个字节。通过赋值语句,逐一更新的。应用程序中如何避免网络传输问题? 神经元芯片对事件的响应时间是固定的吗?大约多长时间? 再次感谢!

zw76812

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 567回
  • 年度积分:0
  • 历史总积分:654
  • 注册:2001年7月18日
发表于:2005-05-10 10:54:00
3楼
从节点可以分成并口通讯 和网络通讯两个任务。 先说网络通讯部分: 主节点 可以使用网络变量的几个预定义事件来逐一的更新网络变量 #define DELAYCOUNTER 125 network output unsigned int DataBuffer; when(...) { unsigned int i; DataBuffer=127; for(i=0;i<DELAYCOUNTER;i++) { if(nv_update_completes(DataBuffer)==1) break; } } 还有 nv_update_fails nv_update_succeeds 的配合使用 其实 我还是在想这么做是不是浪费了lonwork技术的资源。 网络通讯部分我们不用太多的考虑是它的特点之一。 直接辅值更新的方式有什么问题吗?? 点对点通讯的效率应该很高的。 实在不行的用msg来做吧。。。 神经元芯片对事件的响应时间是固定的吗?大约多长时间? 肯定不是固定的,响应时间要看具体的应用设备和网络通讯情况。

shanshan

  • 精华:1帖
  • 求助:0帖
  • 帖子:23帖 | 150回
  • 年度积分:0
  • 历史总积分:453
  • 注册:2004年1月12日
发表于:2005-05-10 13:34:00
4楼
1. 从节点的输出变量与主节点的输入变量绑定,在默认情况下,这些变量的值在网络上是更新传递,还是定时传递?    默认情况下??一般是网络变量发生变化网络处理器发送网络变量.    说了那么多废话其实就是更新传递.    自己可以做不变化的网络变量的广播传递.    请解释一下“自己可以做不变化的网络变量的广播传递”.??这样就可以实现定时传递了吗?定时传递可以满足应用马?

Tim

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 21回
  • 年度积分:0
  • 历史总积分:88
  • 注册:2002年8月08日
发表于:2005-05-12 05:06:00
5楼
请问如何能比较快的响应变量更新事件?有什么改进的方法可以实现两节点的通信吗? 如果你的发送频率很高,可将八个变量合成一个发送。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-05-15 08:03:00
6楼
网络传输:两个节点之间的网络变量传输的实际情况,可以通过LPA-USB协议工具测试分析。 主节点应用: when(nv_update_occurs)是轮询方式执行,即第一个when执行结束,再执行第二个when,依次类推,再返回;如果你写了8个这样的when(),被更新的主节点网络变量 需要等待相应的网络变量更新事件,这样会造成主节点上对这个事件的响应非常慢。 可以考虑使用一个msg或者网络变量进行。

shanshan

  • 精华:1帖
  • 求助:0帖
  • 帖子:23帖 | 150回
  • 年度积分:0
  • 历史总积分:453
  • 注册:2004年1月12日
发表于:2005-05-15 16:04:00
7楼
1. 从节点的输出变量与主节点的输入变量绑定,在默认情况下,这些变量的值在网络上是更新传递,还是定时传递?      Whenever a program writes into one of its output nerworks variables(with the exception of output network variables being declared with the polled modifier),the new value of the network variable is propagated across the networks to all devices with input network variables connected to that output networks variable. 知道了吧!!!

热门招聘
相关主题

官方公众号

智造工程师