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日
下一篇 2019年6月11日

相关推荐

  • 希望各位大侠指点

    我公司有两台服务器用(一抬起备用作用)WINCC6.0与S7-317通讯监控,现在坏了一台我另找了一台服务器重装XP系统STEP软件和WINCC6.0 将原来项目打开后程…

    SIMATIC WinCC 2019年6月11日
  • wincc如何定义一个按钮,比如平时是手动,按下去会变成自动

    我要在wincc中做一个用PID来控制加热的画面,S7中的自动开,手动开都是定义的二进制变量。现在想实现这个功能,就是当我打开加热后,默认是手动控制输出加热。当我点了手自动切换按钮…

    SIMATIC WinCC 2020年11月1日
  • WINCC启动报错

    wincc激活到66%,不动了.大概就是到ALARM logging 和tag logging启动项的时候不动了.项目文件存储路径为英文,没有中文. …

    SIMATIC WinCC 2019年6月11日
  • HMIRuntime.ShowSystemOverlay 0

    大家好,标题为WINCC7.3执行VB的脚本,点击对象后执行VB脚本,然后从屏幕左侧参数黑色一条窗口,有取消,首页,上一页,下一页,语言。我想问的是这句指令执行的原理,像这个指令从…

    2017年6月12日
  • 求WICC入门资料

    那位有入门级WICC资料,求赐一份,谢谢 最佳答案 1、西门子官方有很多学习资料可以下载,可以选择自己需要的下载:http://www.ad.siemens.com.cn/down…

    SIMATIC WinCC 2019年6月11日
  • TP177A程序传送问题

    我用MPI线,能进行OS更新,但不能传送程序,提示联接不上,要我检查电缆、端口。 最佳答案 一般黙認用200的PC/PPI電纜下載,你可在人機的系統菜單下改為MPI下載,不過用MP…

    SIMATIC WinCC 2019年6月11日
  • 200smart 与 200pc access smart 连接问题

    如图所示 在项目属性里无法更改存储属性, 之前的搜索地址通讯已建立  望高手告知原因 问题补充:补充一下,是设置不了。如图选项是空的,&nb…

    2020年11月1日
  • wincc画面表格做法的优劣比较

    想在wincc画面上做表格在线显示自定义数据库的运行数据,做成一日清单,隔日新建。具体做法:1、利用io域拼起来;2、用vb的表格控件 ms_flexgrid3、用win…

    SIMATIC WinCC 2019年6月11日
  • 300如何配置与WINCC的上位机与现场触摸屏

    PLC314C-2DP,作主站,若干200作从站,主从之间采用PROFIBUS  通信。人机对话配置WINCC的上位机(上位机已经配置CP5611,与300作P…

    SIMATIC WinCC 2021年7月5日
  • WinCC中输入输出域弹出二级菜单

    在点击I/O域或者按钮时,弹出附件中的对话框对目标变量进行调节,数值变化在0.1/次 问题补充:数值范围在0~100之间,该怎么实现? 图片说明:    最佳答…

    2017年6月13日