组太王与DDE的问题,碰到了难题。 点击:1361 | 回复:13



jiangbin1937

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-07-26 16:45:00
楼主
由于此系统中组太王需要通过DDE从我自己开发的VB应用程序中获得数据。当然问题不是这个,我知怎样获得数据。 在组态王中建立了DDE,在定义需要通过DDE获得数据的变量时“项目名”需设置为为其提供数据的VB应用程序中的控件(如label,textbox等)。问题出来了:由于我需要获得的变量太多了(很多个同一类型的设备,每个设备都有10个量),我不可能在我的应用程序中放置几百个label或textbox吧,所以我将“项目名”设置为我的VB程序中的一个全局变量,但结果却不能得到数据!难道有多少个点需要获得数据,在我的VB应用程序中就得放置多少个控件吗?
   所以在此请教各位,有什么更好得办法来解决此问题!



jiangbin1937

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-07-26 16:46:00
1楼
还有这种DDE的通讯会不会很忙呀?

死亡骑士

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1774回
  • 年度积分:0
  • 历史总积分:2630
  • 注册:2006年7月17日
发表于:2007-07-27 09:13:00
2楼
一定要放到label,textbox里面才能连通吗?
那真要这样,你就建立一个窗口专门放这些控件,然后让这个窗口不可见呢?
方法有点蠢,仅供参考

jiangbin1937

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-07-27 20:37:00
3楼
工控战友们,请大家帮我这个新入行的新兵出出主意吧!

谢谢了/

名笔

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 190回
  • 年度积分:0
  • 历史总积分:270
  • 注册:2004年11月24日
发表于:2007-07-31 09:42:00
4楼
将你的数据组成字符串发送,然后到接收端解析。

笑笑风

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 183回
  • 年度积分:0
  • 历史总积分:412
  • 注册:2005年2月19日
发表于:2007-08-17 21:19:00
5楼
用控件数组,虽然多点,但操作起来很方便

jiangbin1937

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-08-19 15:19:00
6楼
TO 笑笑风:
用控件数组,这样想想也许可行.

还有一个问题:我的组态王设计的操作画面的 控制按钮命令
比如就有单击"开机"命令;
另一方面,我用VB做的那个对下位机设备进行控制&采集的程序也有开机命令,原意是组态王里下达"开机"指令,通过VB程序,然后转到下位机执行的.
这里的,在组态王的画面与VB之间,这个"开机"按钮的命令怎么传递呢????

笑笑风

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 183回
  • 年度积分:0
  • 历史总积分:412
  • 注册:2005年2月19日
发表于:2007-08-26 21:56:00
7楼
在组态王中做一个开机按钮,对其按下操作对应一变量值变化,再与VB实现DDE通讯,

笑笑风

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 183回
  • 年度积分:0
  • 历史总积分:412
  • 注册:2005年2月19日
发表于:2007-08-26 21:59:00
8楼
仅供参考,实际上个人认为你可以寻求亚控的技术热线,

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-26 22:24:00
9楼
我搞过数采项目,涉及OPC与DDE通讯。
组态王是DDE的客户端了,
而你的VB程序是DDE服务端了,
这“工程名”不一定就是VB“控件”名,
是DDE服务端与DDE客户端双方约定的“暗号”而已,
目的是为了保证通讯秩序而已,楼主可能对DDE
有点模糊



三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-26 22:24:00
10楼
这“项目名”不一定就是VB“控件”名

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-08-26 22:24:00
11楼
我搞过数采项目,涉及OPC与DDE通讯。
组态王是DDE的客户端了,
而你的VB程序是DDE服务端了,
这“工程名”不一定就是VB“控件”名,
是DDE服务端与DDE客户端双方约定的“暗号”而已,
目的是为了保证通讯秩序而已,楼主可能对DDE
有点模糊



jiangbin1937

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-08-28 11:45:00
12楼
to  三脚蟾@: 

我查了很多。发现这个“项目名”,是指VB 中的picture,label,textbox控件。

别的不行啊。

jiangbin1937

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-08-28 12:04:00
13楼
DDE中数据的动态交换(数据流向)总有个客户/服务的先后关系.

当从组态王--->VB时(就是我上面提到的命令按钮的问题),vb中的控件要绑定组态王的一个变量,问题是组态王还不支持内存变量,只能是一个设备的IO变量,为解决这个问题.组态王内部有个仿真PLC.用这个也可以.不过只能是整数.

当从VB-->组态王时, 在组态王中的变量就在 连接设备 时选那个VB中的控件. 这样VB从下位机设备采集到的数据也能动态的交换到组态王的变量.

以上是我的一点理解.呵呵
谢谢大家的回复!!!

热门招聘
相关主题

官方公众号

智造工程师