抖音粉丝群1
『7x24小时有问必答』

主要内容:

ANSI C脚本中调用COM的方法

众所周知WINCC ANSI C脚本并不提供 COM (组件对象模型)的直接支持。如果你想在脚本中依赖于 Windows API 和相应的头文件手搓一个……,反正本人是束手无策。

还好WINCC给我们提供了一个函数__object_create,可以实现COM的调用,下面通过一个示例脚本说明一下

比如,使用WINCC的WINCC HMIRuntime库
__object *HMIRuntime=NULL;

HMIRuntime = __object_create("CCHMIRuntime.HMIRuntime");

if  (!HMIRuntime){    printf("Failed to create HMIRuntime Object");    return;}

printf("%d  \r\n",HMIRuntime->Language  );  printf("%d \r\n",HMIRuntime->Tags("testtag1")->Read());

__object_delete(HMIRuntime);

首先使用__object_create创建对象
HMIRuntime = __object_create("CCHMIRuntime.HMIRuntime");
这类似vbscript脚本的CreatObject方法:创建并默认初始化与指定ProgID关联的COM的单个对象。成功执行后,返回请求的对象的接口指针。

如果失败,返回NULL
if (!HMIRuntime){    printf("Failed to create HMIRuntime Object");    return;}

然后就可以通过接口指针来使用对象中的方法、属性:

如获得运行语言
printf("%d \r\n",HMIRuntime->Language );
注:C脚本中可以直接使用内部函数GetLanguage()获得运行语言

读取变量值
printf("%d \r\n",HMIRuntime->Tags("testtag1")->Read());
最后,使用__object_delete释放接口
__object_delete(HMIRuntime);

以上就是C脚本中使用COM的方法,收藏起来吧,说不定哪天你就能用得上。

〔正文结束〕

---

关注公众号回复“加群”按规则加入『WINCC脚本』技术交流群。关注后在公众号菜单项可查看更多内容。

如果你有与本文相关问题可以后台发消息,欢迎点赞、分享、关注

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码