wincc调用动态链接库的问题

问题描述:通过matlab的m文件编译出的动态链接库dll文件,在wincc的c脚本中调用时遇到的问题,请高人们帮我分析一下。。。

先看看我的过程:
1、简单编一个m文件myadd.m
function  c = myadd(a,b)
c = a + b;
2、matlab2010中输命令:
mcc -W lib:myadd -T link:lib myadd回车
产生myadd.dll等一堆文件
3、把myadd.dll拷到E:/ (或者拷到wincc项目目录下,都试过了)
4、wincc中拖个按钮,加单击c脚本,添加:
#pragma code("E:/myadd.dll")
float myadd(float a, float b);
#pragma code()
float a=1;
float b=2;
float c;
c = myadd(a, b);
SetTagFloat("result", c);
5、运行,然后变量result里什么也没有。调试后觉得c = myadd(a, b);这句就没运行的起。

问题出在哪呢?事实上这些步骤也是看网上资料的,不一定对,希望有高人指点一下正确的wincc调用matlab产生的动态链接库步骤应该是怎样的呢??

急候佳音!谢谢谢谢!

最佳答案

将 myadd.dll 拷贝至 C:\Program Files\SIEMENS\WINCC\bin 目录下,然后直接调用:
#pragma code ("myadd.dll")

提问者对于答案的评价:
恩,只要#pragma code("myadd.dll")。后来拿windows的一个dll试了一下可以,我自己的问题出在函数的声明上,看了下同时生成的myadd.h,里面函数定义的是bool MW_CALL_CONV mlfmyadd(int nargout, mxArray **c, mxArray *a, mxArray *b); 要声明成这个。
但问题又来了,这样岂不是开头还要include"myadd.h"?而且这个头文件里还包含了N多matlab的头文件,全要拷到工程里来,还会报错。wincc调matlab这个问题没那么简单啊,打算单独开个贴请教这个问题,您要有时间再来指导一下?

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc265925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午4:07
下一篇 2019年6月11日 上午4:07

相关推荐

  • 在线等

    端口接线或组态不一致:说明:已组态了端口互连,但端口上检测到多个伙伴。可能的原因:该端口上连接了一个不兼容 PNIO 的设备。组态了端口互连,但未连接设备或伙伴…

    SIMATIC WinCC 2021年7月5日
  • WINCC项目打不开

    我用的是WINCC6.0.2,打开一个项目时过程条走完了,但提示我找不到启动画面,可我在电脑从新定义启动画面后还是提示我没有找到启动画面。 问题补充:提示我:启动画面没有找到,请在…

    SIMATIC WinCC 2019年6月11日
  • winCC V6.2 按钮VBS脚本 不执行 为什么

    winCC V6.2 按钮VBS脚本 不执行 为什么 最佳答案 脚本第一行或者其他地方有错误,导致后面脚本不能执行. 提问者对于答案的评价:…

    SIMATIC WinCC 2019年6月11日
  • 关于西门子PG电脑用以太网连接PLC的问题求助

    西门子PG电脑,型号:SIMATIC Field PG P4      6SE7711-1…

    SIMATIC WinCC 2021年7月5日
  • WinCC画面转换

    在WinCC运行画面上在菜单工具栏上想设置一个选项,可以切换成其他的画面运行,请问VBS要如何运用。 问题补充:是在运行图形上方的菜单工具栏里,所以只能用VBS脚本。用异步也可以。…

    SIMATIC WinCC 2018年12月14日
  • wincc7.4数据类型

    请问哪位大侠知道,我安装了WINCC7.4定义了32位浮点型的变量,WINCC7.4运行后怎么给读不到S7300的PLC 32位浮点型的数据(数据输出显示阴影)?然后我把…

    2020年11月1日
  • 请教一个SMART700IEV3触摸屏报警视图的问题

    报警触发了之后,报警视图上会显示报警信息,但是报警解除了之后,报警信息就不见了,如何组态才能让过去的报警信息可以查看 钻石用户推荐最佳答案 使用Smart V3&nbsp…

    SIMATIC WinCC 2021年7月5日
  • wincc c脚本编译的时候提示 该动作没有包含解释代码

    wincc  c脚本编译的时候提示 该动作没有包含解释代码 图片说明:    最佳答案 把程序 pragma声明放进函数…

    2017年11月18日
  • 计划曲线wincc

    用wincc做一曲线,按照曲线实现输出值变化,不知道怎么做曲线 钻石用户推荐最佳答案 是经典wincc软件吗如果是经典wincc可是在用户归档中吧预设的数据填好,然后使用函数曲线显…

    SIMATIC WinCC 2021年7月5日
  • wincc警报闪烁在如何用全局脚本处理

    Wincc画面中的设备设置有警报闪烁功能,能否设置一个按钮并点击该按钮,所发警报的设备不再闪烁,但其会显示故障时的对应颜色(比如黄色),直至该设备故障排除不再发警报;且设备显示正常…

    2017年6月24日