那位大侠能给我一份简单的源程序啊?(可以读写NV的就行) 点击:2209 | 回复:11



笨笨涛

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-11-08 10:25:00
楼主
学了一个多月的LonWorks后,大至理解了一些东西。 最近试着照书中的例子及源码做做程序(用LcaObjectServer控件),但有许多不通的地方,不知道那位大侠手头上有我上述提到的源码程序(最好是VB或Delphi的),小弟非常感谢! 谢谢!!



笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-19 10:00:00
1楼
怎么没有人有吗?

rslogix5000

  • 精华:0帖
  • 求助:1帖
  • 帖子:15帖 | 44回
  • 年度积分:0
  • 历史总积分:238
  • 注册:2002年3月15日
发表于:2002-10-19 11:12:00
2楼
你是怎么学LonWorks 的?

笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-19 12:46:00
3楼
看它自带的英文资料啊 还有就是动手安装节点等等

笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-20 15:01:00
4楼
不会吧 大家都和我一样菜吗?真不敢相信

笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-23 19:07:00
5楼
太失望了 有请版主可以吗?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-10-23 20:43:00
6楼
打开网络及其子系统。   部分程序源代码如下:    设置多用户共享数据库方式    ObjectServerForm.LcaObjectServer1.SingleUserMode = False    打开对象服务器    ObjectServerForm.LcaObjectServer1.Open    增加网络接口名到接口列表框中    Set NetworkInterfaceCollection = ObjectServerForm.LcaObjectServer1.NetworkInterfaces    count = NetworkInterfaceCollection.count    For i = 1 To count    Set CurrentNetworkInterface = NetworkInterfaceCollection(i)    If CurrentNetworkInterface = "PCCLON1" Then    InterfaceName.AddItem CurrentNetworkInterface    End If    Next i    添加数据库名到到网络数据库列表框中    Set NetworkCollection = ObjectServerForm.LcaObjectServer1.Networks    count = NetworkCollection.count    For i = 1 To count    Set CurrentNetwork = NetworkCollection(i)    If CurrentNetwork = "zhuo" Then    DBName.AddItem CurrentNetwork    End If    Next I    打开系统    Set CurrentSystem = CurrentNetwork.Systems(1)    CurrentSystem.Open    打开网络    Set CurrentNetwork = NetworkCollection(NetName)    CurrentNetwork.Open 4、将数据库中的卡号自动发到黑名单节点功能的实现     根据黑名单节点卡号的定义的数据结构,通过循环语句须将数据库每一条记录中的卡号段加上一个记录的记录数一起发送给黑名单节点的输入网络变量。黑名单节点输出网络变量(注销无效卡号)会根据节点程序自动更新。     如数据库中的第3个记录的卡号为20 00 07 11时,输入网络变量实际应为2 20 00 07 11。     部分程序源代码如下:     Private Sub Command3_Click()     Dim nv As LcaNetworkVariable     Dim ind As Integer     Dim i As Integer     If Data1.Recordset.BOF And Data1.Recordset.EOF Then Exit Sub     Data1.Recordset.MoveLast     ind = Data1.Recordset.RecordCount     Set CurrentAppDevice = AppDevicesCollection("blacknode")     获得所有网络变量     Set CurrentInterface = CurrentAppDevice.Interface     Set NVsCollection = CurrentInterface.NetworkVariables     Data1.Recordset.MoveFirst     发送卡号给相应的网络变量     For i = 1 To ind Step 1     NVsCollection(1).Value = Str(i - 1) + " " + Data1.Recordset.Fields("卡号")     Data1.Recordset.MoveNext     If Data1.Recordset.EOF Then Exit Sub     Next i     End Sub     5、黑名单节点软件初始化功能的实现     将黑名单节点50个输出网络变量(注销无效卡号)强制设定为88 88 88 88 或任意其它不可能的卡号。     Set CurrentAppDevice = AppDevicesCollection("blacknode")     Set CurrentInterface = CurrentAppDevice.Interface     Set NVsCollection = CurrentInterface.NetworkVariables     Dim j As Integer     For j = 1 To 50     NVsCollection(1).Value = Str(j - 1) + " " + "88" + " " + "88" + " " + "88" + " " + "88"     Next j     6、从黑名单节点中读取黑名单卡号功能的实现     注销无效卡号的数据显示必须把50个网络变量中非黑名单卡号过滤掉,并相应计算出当前黑名单人数。      Dim nv As LcaNetworkVariable      Dim index As Integer      Dim i, j As Integer      Dim jl As Node      Screen.MousePointer = 11      TreeView1.Nodes.Clear      确定当前应用节点为黑名单节点      Set CurrentAppDevice = AppDevicesCollection("blacknode")      Set CurrentInterface = CurrentAppDevice.Interface      Set NVsCollection = CurrentInterface.NetworkVariables      index = NVsCollection.count      For i = 2 To index      Set nv = NVsCollection(i)      If (Mid(nv.Value, 1, 2) + Mid(nv.Value, 4, 2) + Mid(nv.Value, 7, 2) + Mid(nv.Value, 10,     2)) = "88888888" Then      j = j + 1      Else      Set jl = TreeView1.Nodes.Add(, , , "cardno", 1)      jl.Text = nv.Value      jl.Tag = nv      End If      Next i      Text1.Text = "黑名单人数:" + Str(50 - j) + "人"      Screen.MousePointer = 0      End Sub

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2002-10-23 20:49:00
7楼
By the way, Echelon 公司LonWorks培训-601课程:LNS网络工具开发课程 学生CD中包含 LNS 标准程序代码(VB,VC)。 获得CD的办法是参加该课程的培训。可网上在线报名参加。 Thanks.

笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-24 17:20:00
8楼
多谢衣卓版主的帮助啊!谢谢了 你上面的程序,前面的我以前也做过了,后面的好象和读NV没有关系吧?(还是我太菜没有看懂啊?什么黑名单啊?) 版主您也是用VB吧?我用Delphi,因为我是Delphi程序员,VB/C++只是懂得语法而矣! ***严重问题*** 搞开发用Delphi2以上版本可不可以啊? 我现在用Delphi6开发,现发现有一条语句在VB中可以运行,但是在Delphi6中不能通过,请看: CurrentAppDevice:=AppDevicesCollection.item(DeviceName); NV:=CurrentAppDevice.Interface.NetworkVariables(NvName); 就是下面的那一句!!(Lca开发指南中是这样用的,VB下通过) 还请您帮助解答啊!再次感谢了!! (自我认为是这样的,Delphi2以上版本中Interface是关键字,所以编译不能通过!是这样的吗?如果是,怎么解决啊?难道用Delphi2来开发?) 谢谢回答!

akela

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2002年10月27日
发表于:2002-10-27 21:20:00
9楼
第一次到这里来,看到衣卓老师的帖子很是感动!可谓诲人不倦!

笨笨涛

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 10回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2002年8月28日
发表于:2002-10-28 09:05:00
10楼
衣卓老师,还请您帮忙

blueice

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2002年11月08日
发表于:2002-11-08 10:25:00
11楼
happy birthday to yz! It is said that today is your birthday; i image blessing as stars in the sky; i hope your birthday as star-spangled; and last do good lucy with you forever.       magnanimous

热门招聘
相关主题

官方公众号

智造工程师