MATRIXx 的设计理念:从建模到实现的闭环
MATRIXx 是面向工程的图形化系统设计仿真平台,自 1984 年正式推出以来,逐步发展为基于模型的设计(Model-Based Design)领域的标志性工具之一。其核心理念是“建一点,测一点”——在设计过程的每个阶段都能对系统进行验证与测试,而无需等待实时硬件就绪。从概念演示、数学建模、交互仿真,到自动生成 C/Ada 代码与设计文档,再到半实物实时仿真,MATRIXx 将整个工程开发链路整合在统一环境中,使工程师能够在更短时间内迭代出性能更优的产品。
五大核心组件详解
SystemBuild:图形化建模与仿真引擎
SystemBuild 是 MATRIXx 环境的建模核心,提供基于工程方框图的图形化建模界面。用户可通过拖放预定义的方框图元素,直观地将动态系统描述为互相连接的功能模块集合。它支持线性、非线性、连续、离散及混合系统的建模与仿真,并具备交互式仿真和非交互式批量仿真两种模式。SystemBuild 还提供多个可选扩展模块:状态转移图模块(State Transition Diagrams)用于有限状态机和逻辑事件建模;交互动画模块(Interactive Animation)为仿真提供丰富的人机交互界面;HyperBuild 仿真加速器可将复杂仿真任务提速 2 至 7 倍;RT/Fuzzy 模块支持实时模糊逻辑应用的设计与仿真;此外还有面向航天应用的专用模型库,涵盖大气模型、多阶地球引力模型和刚体六自由度动力学模型。
Xmath:面向对象的数学分析与可视化工具
Xmath 是工业界较早采用面向对象架构的数学分析和图形软件包,与 SystemBuild 紧密集成,可同时运行。它提供交互式 2D/3D 彩色图形、可编程图形用户接口以及丰富的函数库。Xmath 的面向对象能力不仅限于矩阵运算,还支持更复杂的数据结构表达,能将冗长的代码压缩为更精简的版本且执行速度更快。在核心功能之外,Xmath 提供多个专业分析模块:控制设计模块(Control Design Module)覆盖多变量连续与离散系统的建模、经典反馈设计及状态空间方法;鲁棒控制模块(Robust Control Module)提供现代鲁棒控制系统的分析、设计与评估工具集;信号分析模块(Signal Analysis Module)支持通信系统的信号产生、信道建模、调制解调及谱分析;交互式系统辨识模块(Interactive System Identification Module)可利用观测数据辨识系统模型;优化模块(Optimization Module)则基于 Karmarkar 算法求解优化问题。
AutoCode:一键式实时代码生成器
AutoCode 是 MATRIXx 中的实时代码自动生成工具,自 1998 年推出首个版本以来已迭代至第六代。工程师在 SystemBuild 中完成系统设计并通过 Xmath 验证后,只需点击鼠标,AutoCode 即可在数秒内将工程框图转换为高质量的 C 或 Ada 语言源程序,用于实时嵌入式应用。其模板技术(Template Technology)允许开发者裁剪生成的代码以适应特定的硬件平台、操作系统或编译器,例如通过 PCODE 模板可直接生成运行于 pSOS 实时操作系统环境的 C 代码。这一能力将原本需要大量人工编程和调试的工作压缩到分钟级别,让工程师可以将精力集中于更高层次的设计决策。
DocumentIt:设计文档自动生成器
DocumentIt 基于 AutoCode 的成熟技术,能够自动从 SystemBuild 模型中提取系统信息,生成符合格式要求的设计文档。文档类型和格式可通过模板文件定制,输出格式支持 Microsoft Word、FrameMaker 和 Interleaf 标记语言等。当 SystemBuild 中的设计发生修改时,生成的文档会自动同步更新,确保设计模型与文档始终保持一致,避免手工编写文档时的冗长、遗漏和版本错位问题。
RealSim Series:半实物仿真与快速原型
RealSim Series 将 MATRIXx 软件环境与实时计算硬件无缝集成,支持快速原型、硬件在环(HIL)测试和半实物仿真。它在图形化环境中自动处理编译、下载、链接和执行,用户无需深厚的软件背景即可配置 I/O 通道并定义数据采集策略。实时运行期间,交互式动画界面允许动态调整系统参数并即时观察效果,还可设置阈值告警来监控信号和标志位。仿真数据可通过 Xmath 进行离线分析与可视化,发现问题后可迅速回到 SystemBuild 修改设计并重新生成代码——整个过程以分钟计。RealSim Series 兼容多种硬件平台,包括集成系统公司推出的 AC-104、PCI Pro 和 AC-1000 等多处理器并行计算设备,以及 Harris Night Hawk 实时计算机、VME 总线平台和标准 PC 等第三方硬件。
版本演进:MATRIXx 8.0 的工程化改进
2007 年,NI 发布了 MATRIXx 8.0,在保持与 7.1 版本前后向兼容的基础上引入了多项工程化改进。新版本推出了基于项目的开发环境(Project-Based Development Environment),增加数据字典(Data Dictionary)和搜索工具,便于在大型模型中快速定位和导航。模型对比工具(Model Comparison Utility)支持在 SuperBlock 层级进行差异比较,帮助工程师识别同一模型不同版本之间的变更。用户界面也进行了现代化改造,遵循标准 Windows 交互惯例,支持右键菜单、拖放操作和集成帮助,降低了新用户的学习曲线。值得注意的是,MATRIXx 8.0 的文件格式与 7.1.x 完全一致,仿真器代码、Xmath 算法和数值库均保持不变,确保升级后计算结果的一致性。
适用领域与选型参考
MATRIXx 在航空、航天、国防、汽车、兵器、船舶、工业控制和生产制造自动化等领域有长期应用积累。对于需要覆盖从系统建模、仿真验证到嵌入式代码生成全流程的工程项目,MATRIXx 提供了一条高度集成的工具链。其可选模块的按需扩展能力意味着团队可以根据项目复杂度灵活配置功能集,而不必为不必要的模块支付成本。在选型时,建议重点关注以下几点:一是确认项目对实时仿真和硬件在环测试的需求程度,这决定了是否需要引入 RealSim Series 相关硬件;二是评估团队对代码自动生成的目标语言(C/Ada)和运行环境(RTOS、裸机等)的要求,以确认 AutoCode 模板的适配性;三是考虑与现有第三方工具(如 Altia Design、Mentor Graphics System Design Station 等)的接口需求。由于 MATRIXx 的授权方式通常与模块选择和用户数量挂钩,实际报价需向正规代理商或厂商咨询,结合版本、部署方式和实施服务综合评估。