请教LNS开发问题! 点击:1382 | 回复:10



广东—雄

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-03-10 09:30:00
楼主
请问各位知道怎样用replace的方法吗?我这样为什么不行呀?我用一个程序为非配置模式的板来进行replace,可它在frp_Appdevice.Replace里出错,说我的程序ID不对,不能替换,为什么? Public Sub CommissionDevice() Set frp_System = frmmain.System frp_System.BeginNssIdleEvent (50) Set frp_AppDevices = frmmain.Subsystem.AppDevices frp_System.StartTransaction Set frp_Appdevice = frmmain.AppDevice frp_Appdevice.neuronID = frmmain.neuron_ID frp_Appdevice.Replace frp_System.CommitTransaction Me.label1.Caption = "程序下载成功了!!!!哈哈!!!" end sub



Tom Yeh

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 161回
  • 年度积分:0
  • 历史总积分:210
  • 注册:2002年1月31日
发表于:2003-02-24 17:57:00
1楼
Public Sub CommissionDevice()    Set frp_System = frmmain.System    frp_System.BeginNssIdleEvent (50)    Set frp_AppDevices = frmmain.Subsystem.AppDevices    frp_System.StartTransaction ‘在这里要指定您所要Replace的Appdevices是哪一个。 ’这是您原来写的   Set frp_Appdevice = frmmain.AppDevice ’这是我改过的  Set frp_Appdevice = frmmain.AppDevices(“DO-1”) ‘当然,AppDevices里也可以采Index方式取得AppDecie    frp_Appdevice.neuronID = frmmain.neuron_ID    frp_Appdevice.Replace    frp_System.CommitTransaction    Me.label1.Caption = "程序下载成功了!!!!哈哈!!!"   end sub 依照上头改过后,应该就可以正常运行才是…

广东—雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-02-25 16:40:00
2楼
谢谢!虽然我还不能理解为什么要这样做才行,但我的程序这点就可以了。真是很感谢!   我今天又碰到了一个问题 :)还望赐教!   我的LOAD程序是这样的。      Private Sub load_Click()   Dim s As String      System.BeginNssIdleEvent (50)   s = Me.DeviceList.Text   Set AppDevice = Subsystem.AppDevices.Item(s)   AppDevice.AppImagePath = "d:\lon\l2026.apb"   AppDevice.load   System.EndNssIdleEvent   MsgBox("decommission 完成!")   End Sub   可他执行到appdevice.load提示出错,说我在当前模式下不能进行这个操作,不知为什么会这样?The requested operation is not allowed in the current management mode.

Tom Yeh

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 161回
  • 年度积分:0
  • 历史总积分:210
  • 注册:2002年1月31日
发表于:2003-02-25 17:06:00
3楼
基上上,您得在程序中明确的告诉LNS 到底您所要Replace的AppDevice是哪一个。(先前您只用了 set appdevice = system.appdevies (这是个Appdevices是appdevice的集合,也就是说一个appdevices中会有多个appdevice!!) 您得注意一下关于集合这个部份的说明文檔。 大概就是如此了。 I hope this helps

忘忧草

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 87回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2001年12月28日
发表于:2003-02-25 17:07:00
4楼
下载时候,须保证onnet

Tom Yeh

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 161回
  • 年度积分:0
  • 历史总积分:210
  • 注册:2002年1月31日
发表于:2003-02-25 17:09:00
5楼
请确认一下关于您目前的 System. MgmtMode 是否至于Onnet上。

广东—雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-02-26 13:38:00
6楼
是的!谢谢!我范了个低级错误,原来System. MgmtMode =0才是onnet模式,我还以为1是。真是低级错误。 可是现在又有一个问题,我用上面的程序,可以运行下去,程序也没提示出错,不过我load完后,节点就会处于非配置状态。 这应该不是上面这段程序的错误,因为我试过将这段程序复制到一个LNS提供的例程中,它却是可以正确下载的。 请问我应该是漏了哪一步的配置才会这样呢?

Tom Yeh

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 161回
  • 年度积分:0
  • 历史总积分:210
  • 注册:2002年1月31日
发表于:2003-02-26 14:06:00
7楼
是在同一台机器上执行不同的程序吗? 如果是,那就得好好的找找发生的原因了。(我以前遇到类似的问题,但不是在执行load的动作) 如果不是,您可以检查看看目前您的LNS Service Pack 版本为何? 目前最新的LNS Service Pack为 Service Pack 8。(这个补丁你可以从Echelon网站上下载)

广东—雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-02-28 11:08:00
8楼
是呀!就在同一台机执行!应该不是什么版本的问题,我觉得应该是漏了一点东西没有设定。应该仔细找找便可以了。

广东—雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-03-06 12:08:00
9楼
请教各位高手,我有碰到了这样的问题了。我写的程序在commission或load时总是说程序ID不匹配,然后就出错不让我对该节点下载程序。只有当我用其他lon管理软件将该节点下载了这个程序后,才能正常下载。请问怎样才能使新的程序下载到模块中。

广东—雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 98回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2002年3月11日
发表于:2003-03-10 09:30:00
10楼
没人知道这个问题吗?还是我说表达的问题不够清楚?或是我的问题太简单了,没有回答的价值? 我是用VB写了个小小的LNS程序。里边有commission;load;decommission等功能。我原来commission好一个模块后,然后我想用另一个模块替换它,我是这样做的,先把原来的模块decommission掉,然后把模块拿走换上另外一个模块,然后通过load,或commission来下载程序,结果它都提示出错。而在lonworks for win中这样的操作是可以的。为什么会这样呢?请各位大侠赐教!

热门招聘
相关主题

官方公众号

智造工程师