论文部分内容阅读
计算机仿真培训系统是以计算机仿真为基础的人—机实时仿真系统。目前在电力、核能、交通和石油工业等领域有较广泛的用途。但是,在开发大型、复杂、模型逼真度高的仿真系统时,如全任务飞行模拟器、轮机仿真模拟器等,系统的软件开发和集成的工作量是十分庞大的。为了提高开发效率、缩短研制周期,同时保证软件系统的可靠性,必须创建一个良好的软件开发环境。本文即为适应这种需求,以Windows2000操作系统为开发平台,在Visual C++6.0环境下开发了一套适用于开发仿真培训系统的一体化仿真环境——基于WindowsNT下的实时仿真支撑软件。 本文首先介绍了一体化仿真环境的基本框架,以此框架为基础,根据实时仿真支撑软件的特点,采用面向对象软件工程方法,设计了本实时仿真支撑软件的结构。然后根据实时仿真支撑软件的结构,利用WindowsNT的多任务机制,以目前最流行的面向对象的程序设计思想,进行了WindowsNT下并发程序的设计,采用三个进程和多个线程,以互斥信号量为同步对象,在共享同一个实时仿真数据库的前提下,协调完成仿真支撑软件的各项任务。接下来介绍了构成仿真支撑软件的几个关键部分:实时仿真数据库、建模与模型调度、教练员与工程师工作站和实时通讯。 实时仿真数据库是本文的重点,也是开发实时仿真支撑软件的关键。通过对各种仿真数据的分析,根据各仿真数据的特点,分别以文件系统、传统数据库和内存数据库进行存储。对于要实时更新的变量存储在内存数据库中,以保证系统运行的实时性。内存数据库利用动态链接库和内存映射文件加以实现。 建模与模型调度中,利用面向对象的建模方法,建立系统的树状层次模型库,供模型调度程序调度。模型调度程序采用基本步长调度原理对模型实时调度。 教练员与工程师工作站中各个功能的实现都采用了面向对象类的概念,根据功能的划分,封装成不同的功能类。各个功能类之间通过实时仿真数据库相联系。 基于WindowsNT下实时仿真支撑软件及教练员软件的开发 实时网络通讯采用了目前流行的基于TCP/IP协议的Winsock套接字进行了设计,实现了仿真主机与接口机和仿真主机与各个监控机之间的实时通讯。 本实时仿真支撑软件是一个完整的支撑实时仿真开发、调试、运行和维护的大型软件平台。初步通过了绞吸式挖泥船疏浚作业仿真器的测试,运行状况良好。