全局变量和静态变量在ADPSS仿真中的特性

江霖江霖 提问于:2025-05-13 15:17 问题反馈 57 浏览 1 回答

将单机仿真扩展到多机仿真时,仿真中的所有机器似乎共享一个静态变量,造成冲突,使得单机和多机仿真结果不一致。

这个特性是故意为之吗还是,能解决吗

本地串行
彭丽
彭丽LV3

回答于:2025-05-14 09:49北京

请参考说明书【12-ADPSS用户统一接口封装模型开发指南˃˃用户统一接口封装模型的开发方法概述˃˃单实例和多实例】的内容。
一般来说,当用户封装模型的代码中含有独立的静态变量和全局变量时,用户封装模型的UD功能块必须采用单实例应用。当用户封装模型的代码中没有静态变量和全局变量时,可以采用多实例动态调用(采用面向对象的类等同于非静态变量)。
基于目前用户封装模型开发的现状,建议用户采用多实例动态调用,将静态变量和全局变量更改为动态变量和局部变量,或者静态变量和全局变量做数据保护(执行前从存储区取值,执行后存入存储区)。