adpss自定义UD插件仿真运行报错

马炜程马炜程 提问于:2025-07-08 15:53 厂家模型 169 浏览 17 回答

首先,我写了一个简单的测试test_usr.c和test_usr.h文件,之后我用build_cl.bat脚本对test_usr.c进行编译,生成静态库文件test_usr_cl.lib。(x86和X64均测试过)

其次,我在VS2022中新建一个动态链接库dll工程项目project_dll,将准备好的AdpssItf.c/.h,add2.c/.h,test_usr_cl.lib,

test_usr.h添加进工程解决方案中。用我同事之前的模板代码AdpssItf.c/.h进行动态库生成。(x86和X64均测试过)动态库生成均未报错。

20250708154136175196049614865.png

然后,我在adpss软件中根据test_usr.c建立一个新的UD元件,并搭建一个输入输出。

20250708154520175196072023647.png
20250708155248175196116811162.png

最后,结果报错如图。

我在 http://180.184.90.93/qa/use/86.html 中也看到有人发了基本一样的错误,但是回答的结果不理解什么意思。但他的中间步骤没有写明,不知道和我问题是否一致。

20250708155246175196116664541.png
软件版本 v2.8
计算方式 本地串行

20250708155616175196137634589.7z

45.10 MB 下载附件
王玭
王玭LV5

回答于:2025-07-08 16:14北京

需要按照统一接口进行封装
马炜程 LV2

回复于:2025-07-08 16:17江苏

确实用了你们的接口了。在adpssltf.c里面
王玭 LV5

回复于:2025-07-08 16:23北京

要用转换工具转
http://180.184.90.93/qa/zb_users/upload/2025/03/20250303162633174099039334068.pdf
马炜程 LV2

回复于:2025-07-09 08:42江苏

你的转换工具无非替代了VS自己的编译功能,我可以用VS直接实现动态库生成。
请问是一定要VS2012版本的编译器V110版本才行吗?
马炜程 LV2

回复于:2025-07-09 08:58江苏

请问版本是一定要VS2012的编译器V110版本才行吗?
http://180.184.90.93/qa/zb_users/upload/2025/03/20250303162633174099039334068.pdf这个文档我看里面有写,我之前一直用的VS2022
王玭
王玭LV5

回答于:2025-07-09 08:54北京

接口我们都是写好并配置好的,包括代码测试都是配置好的。不用转换工具的,需要自行负责查错
王玭 LV5

回复于:2025-07-09 08:59北京

可以参见说明书12-ADPSS用户统一接口封装模型开发指南
马炜程 LV2

回复于:2025-07-09 17:55江苏

目前测试工具已经正确生成dll,为了保险,我将Adpss28\ETSDAC\model\UdPlugins\Default\udInterFace目录所有之前产生的dll删除,重新建立UD,但是依然报错。我的接口就是标准C的。详细如图所示
马炜程 LV2

回复于:2025-07-09 19:15江苏

已经解决,说明书10章节5.4,删除即可
马炜程 LV2

回复于:2025-07-10 09:12江苏

我重复昨天正确的步骤,配置如图,然后没有报错,但是输出结果是没有的,这个什么问题?
马炜程 LV2

回复于:2025-07-10 09:19江苏

搞不懂 什么都没改!前后两次仿真,一次能跑,一次跑不了。
王玭
王玭LV5

回答于:2025-07-10 09:27北京

可能是程序没有正常终止,后台启动一下看看有没有报错
1. 按windows+R 键
2. 输入cmd启动dos窗口
3. 数据文件(ets同名文件夹)如果不在C盘,输入ets同名数据文件所在盘符,比如输入 D:
4.输入cd,复制ets同名数据文件目录,从而进入数据文件目录。(cd与文件目录之间有空格)
5. 拖动bin文件夹里的etsdac_cal.exe到dos窗口,启动仿真
马炜程 LV2

回复于:2025-07-10 09:45江苏

你好已经按步骤实现命令行,结果如图
马炜程 LV2

回复于:2025-07-10 10:45江苏

重新打开adpss软件,又会间歇性的成功仿真几次。。这是adpss软件有问题?
王玭 LV5

回复于:2025-07-10 14:41北京

你用自带的算例试一下会不会间歇性成功仿真
穆清
穆清LV4

回答于:2025-07-13 23:03北京

我们软件不兼容 VS2022的编译的动态库,请用VS2012的库编译,不同的运行时有兼容性问题。
马炜程
马炜程LV2

回答于:2025-07-14 19:37江苏

请问下采样周期、采样时间、仿真输出步长三个的区别和含义??