技术论坛

代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍

作者 主题
奇侠

经验值: 6879
发帖数: 5350
精华帖: 25
代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍
精华帖


只看楼主 只看精华 2006-12-23 10:54:52
标签:
怎么论坛改成这样了??
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=298142&b_id=5&s_id=0&num=14

侠圣

经验值: 3120
发帖数: 2161
精华帖: 21
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-23 15:46:28
这个功能wincc本身自己是可以实现的,不需要借助VB等第三方面软件;当然你在VB中调用WinCC的DDL的接口来实现动态改变wincc控件的属性可以进一步扩展wincc的功能,由此知道wincc的开放性是不错的。
雄关漫道真如铁,而今迈步从头越!
以下网友喜欢您的帖子:

  
版主

经验值: 17316
发帖数: 8472
精华帖: 18
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-23 16:53:10
这种开放性还是不要的为好。
那边WinCC正在它自己的模式下正常运行。
这边VB爱好者正在修改运行画面中对象的属性。
这不成了黑客啦。
无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
游民

经验值: 90
发帖数: 24
精华帖: 3
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍
精华帖


只看楼主 只看精华 2006-12-23 18:40:00
谢谢liwenqun帮我代发。

我在界面中使用了function trend控件,其中X,Y的数据由外部程序每半小时计算一次并刷新,是两个double型的数组(每个大小为100),将它们画到trend中,我尝试过三种方法:
1、在WinCC中建立两个变量ax,ay,设置function trend控件的更新频率,然后根据这个频率,外部程序更改变量ax,ay——缺点是比较慢。
2、将数据写到临时文件中,然后更改WinCC中的变量BUPDATA,在BUPDATA变化函数中读取数据并显示在function trend中——比较理想。
3、这两天第一次接触到wincc6.0,发现它的IHMIRuntime接口比较好用(原来在5.1中没有发现类似接口),所以外部程序直接调用这个接口,实现了上述功能——比较好玩。

其实原程序是VC++编的,虽然不大,但是能看懂的朋友们也用不着看我的程序。因此我用vb做了个简单例子(工作原理一样),并谢谢liwenqun代我传上。

在这里已经混水两年了,谢谢论坛对我的帮助,尽管至今使用WinCC没有完成一个项目。

 
以下网友喜欢您的帖子:

  
游士

经验值: 155
发帖数: 121
精华帖: 0
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-25 08:14:25
不明白我是新手,关键是你的说明上
Vb程序要加references 引用 C:\Program Files\Common Files\Siemens\bin\CCHMIRuntime.dll
是什么意思啊
fa
以下网友喜欢您的帖子:

  
侠圣

经验值: 3120
发帖数: 2161
精华帖: 21
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-25 09:29:33
不妨也把VC编写的原代码发给我代你上传,说不定哪天有用上之处。
雄关漫道真如铁,而今迈步从头越!
以下网友喜欢您的帖子:

  
版主

经验值: 17316
发帖数: 8472
精华帖: 18
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-25 13:24:06
不知楼主为什么要换盔钾?

大家都是熟人了,却偏偏弄个满脸稚气的面孔。
无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
至圣

经验值: 28599
发帖数: 10824
精华帖: 131
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-25 18:38:51
脸上都有一个刀疤,瘸一只眼,怎么能叫做满脸稚气呢
微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
版主

经验值: 17316
发帖数: 8472
精华帖: 18
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-26 08:43:57
呵呵,我是说他这个新马甲:haohaoxuexi0 -- 好好学习。看起来好像是个新手。
无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
侠圣

经验值: 3120
发帖数: 2161
精华帖: 21
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-26 16:47:12
呵呵!我还以为半路杀出个程咬金来呢!原来是你啊!
雄关漫道真如铁,而今迈步从头越!
以下网友喜欢您的帖子:

  
奇侠

经验值: 6879
发帖数: 5350
精华帖: 25
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-27 17:14:42
24日开始,密码、资料等被修改造成我无法登录。
还好恢复了密码,而且那个人也没有进行什么恶意操作,万幸。
怎么论坛改成这样了??
以下网友喜欢您的帖子:

  
版主

经验值: 17316
发帖数: 8472
精华帖: 18
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-27 20:08:33
还好,完璧归坛-论坛。
无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
游民

经验值: 88
发帖数: 114
精华帖: 2
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-28 08:20:35
感觉没什么用啊!
 
以下网友喜欢您的帖子:

  
游民

经验值: 90
发帖数: 24
精华帖: 3
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-29 16:47:49
Vb程序要加references 引用 C:\Program Files\Common Files\Siemens\bin\CCHMIRuntime.dll
在VB环境下 菜单project-〉references... 然后Browse...然后选择文件C:\Program Files\Common Files\Siemens\bin\CCHMIRuntime.dll

VC的程序就不发了,会VC的看看VB程序就改过来用了——方法一样。

说这个程序没有用绝对是实话,这个程序只是为了提供一种方法。使用相同的方法可以实现许多有用的功能,比如通过脚本更改变量的启动值(start value),我将C脚本提供如下:
__object *hmiGObj;
hmiGObj = __object_create("HMIGenObjects.HMIGO.1");
hmiGObj->GetTag("Tag_Name");
hmiGObj->TagStart = Value;
hmiGObj->TagStart =GetTagFloat("float");
hmiGObj->CommitTag();
__object_delete(hmiGObj );

其中Tag_Name为变量名称,Value为需要的启动值。

由于WinCC是基于Com结构开发的软件,因此它具有良好的开放性,通过com的方法可以无缝连接word、excel、access和matlab等等,可以说扩展性十分的好。

 
以下网友喜欢您的帖子:

  
游民

经验值: 90
发帖数: 24
精华帖: 3
回复:代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍


只看楼主 只看精华 2006-12-29 16:50:58
错了一句话,请斑竹将程序中
hmiGObj->TagStart =GetTagFloat("float")
删除。
 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
代人传帖 一个外部程序访问组态画面中控件属性的方法,用同样的方法可以操作组态变量,深入浅出wincc6.0中有介绍
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。