AnyMath在造船行业的应用实践

2026-06-04 11:57

任务

  • 实现与 Simulink 模型等效的定点模型,并对比仿真结果

  • 生成 Verilog 代码,对比 MATLAB 与 AnyMath 模块代码

  • 基于 AnyMath 模块搭建测试项目

成果

  • 完成支持代码生成的模型,生成代码符合代码生成标准,模型运行结果与 Simulink 模型完全一致

  • AnyMath 满足客户全部需求,精度与 MATLAB 完全相同



面向模型设计的重要性

现代船舶工业体系复杂,传统软件开发模式存在诸多局限。从技术任务书到技术规范、再由规范转化为代码,每一环节都易产生理解偏差问题。流程推进还需调配系统工程师、嵌入式开发人员、验证测试人员等不同岗位人员。熟知设备运行原理的硬件研发人员,与深耕代码编写、未必精通专业业务的程序员之间,往往存在沟通壁垒。
模型驱动开发可有效化解该难题。仿真平台搭建的设备模型作为统一基准依据,可自动生成代码,运行逻辑完全契合设计规范。深谙设备原理的硬件设计者能够独立完成控制算法开发,无需专职程序员介入。
不过该开发方式,对建模平台本身有着极高的性能要求。

测试模型选型

项目摒弃虚拟仿真案例,选用实际工程模型:中子通量密度脉冲与电流量程数字化微分处理系统。该系统具备多项功能:生成功率倍增周期信号、实现中子功率脉冲与电流监测量程自动切换,同时持续监测测量通道运行状态。
待测模型初始基于 Simulink 搭建,分为三大功能模块:模数转换模块,依托 MATLAB 建模并生成代码,适配真实物理信号处理场景;核心模块包含两组同款数字微分器,本次改用 AnyMath 开发;量程整合与数模转换模块,仍采用 MATLAB 实现。模型全方位考核平台实际工况性能:微分器需完成定点运算与高抽取率级联积分梳状滤波器开发;量程模块考验复杂切换与告警逻辑;搭配 MATLAB 模块,同步验证联合仿真、代码导入及生成代码嵌入 Verilog 存量项目的适配能力。

模型功率输入输出信号曲线


第一阶段:定点模型迁移与验证

本阶段参照 Simulink 模型搭建等效定点模型,并全面比对仿真运算结果。
定点运算对可编程逻辑集成电路开发至关重要。通用处理器浮点运算成熟高效,但可编程逻辑器件中,寄存器每一位都会占用硬件逻辑单元资源。开发者需精准确定中间运算结果的位宽,避免硬件资源浪费,同时防止位宽不足或数据溢出造成精度损耗。
率先迁移数字微分器模块。该模块属于典型数字信号处理应用:输入功率相关数字化信号,经抽取系数 500 的级联积分梳状滤波器处理,在保留有效带宽的同时大幅降低采样频率;再通过微分运算求解周期数值,配合限幅模块与各类辅助运算完成处理流程。
量程整合模块逻辑复杂度更高。模块接收脉冲通道与电流通道信号,结合信号比例及设备运行状态判定量程切换策略。内部包含两大子系统:量程切换子系统,按需选取两路通道数据,输出功率与周期信号;故障告警子系统,实时监测设备工况、诊断异常问题。告警功能可区分脉冲 / 电流工作区间、区间切换状态,同时监测输入信号超限、功率与周期信号数值偏差等异常情况。

AnyMath 量程整合逻辑模型

AnyMath 模型输出状态面板


为调试模型,搭建带有掩码的专用子系统,借助可视化界面配置输入信号。掩码构成简洁直观的调试工具,内设工况模拟切换开关与状态显示指示器。

封装模块


全面开展模型对比测试,输入幅值、频率、相位参数各不相同的正弦信号,检测信号参数骤变时的瞬态过程。重点考核数据饱和、数值过零、信号斜率突变等边界工况下的运行状态。实测表明,A6、A7 模块在两款平台运行特性完全一致。AnyMath 与 MATLAB 模型输出波形完全重合,脉冲档位、电流档位运行状态及故障标志位等离散指示信号,在所有测试场景中均相互匹配。充分证实 AnyMath 数学内核运算可靠,模型迁移可完整保留全部原有功能。

调试模型整体视图

AnyMath 与 MATLAB 仿真结果对比

第二阶段:硬件描述语言 (HDL) 代码生成与方案对比

第二阶段任务为:通过两款平台的内置代码生成器,为量程整合模块生成 Verilog 代码,并对结果进行比对。该阶段是评估 AnyMath 能否投入工业应用的关键,因为生成代码的质量直接决定其能否无需人工修改即可用于实际产品。

通过 Simulink 的 HDL Coder 生成的代码,采用数字设备设计经典的层次化架构。顶层模块结构清晰,实例化各子组件,每个子组件负责独立功能。尽管因大量中间节点存在一定冗余,但该方案完全符合工业开发标准。

AnyMath 生成的代码采用截然不同的设计思路:默认以单体形式实现,从算术运算到故障标志位生成的全部逻辑,都集成在单一模块主体内;平台支持开启注释生成功能,提升代码可读性。这类代码紧凑高效,适合快速原型开发;若需实现与前者一致的层次化结构,可将模型子系统设置为原子模式,最终生成模块化、易读的代码。
对比分析表明:AnyMath 与 Simulink 生成的代码在结构组织上存在差异。若不进行额外配置,AnyMath 会输出单一模块代码;但经过合理设置后,其生成的代码在质量上完全不逊色于 MATLAB。

核心价值亮点

在实操过程中,总结出 AnyMath 多项核心优势,可支撑软件规模化落地应用。其一,AnyMath 不只是替代 Simulink,更是保障嵌入式系统设计领域技术自主的核心依托。
其二,上手门槛低且兼容性佳。试点项目验证,该平台可便捷快速迁移 Simulink 存量工程。界面直观易懂,模块操作逻辑相近,兼容主流文件格式。长期使用 MATLAB 的工程师无需耗费精力适配新工具,可专注业务研发。支持模型导入与联合仿真,能够渐进式完成平台更替,原有项目可逐步迁移,适配拥有大量技术积淀的工业企业。
其三,沟通响应顺畅,技术支持高效。项目期间团队提出多项功能优化建议,均可得到及时答复与跟进。双方协同迭代产品功能,贴心的服务体验获得企业高度认可。

总结与展望

项目已顺利将模型迁移至全新平台,并与 Simulink 模型完成比对测试,相关人员也全面熟悉平台功能与配套工具。仿真运算结果证明,双方模型数学运算效果完全一致。模型迁移、硬件描述语言 (HDL) 代码生成两大阶段任务均圆满收官,各项指标达到预期。
总结评价:AnyMath 具备广阔发展前景与战略价值,未来可全面替代同类软件。该软件现阶段已能够满足实际工程应用需求,研发团队开放协作的态度,也将持续驱动产品迭代升级。

昵称:
内容:
验证码:
提交评论
评论一下