4 控制算法仿真 Plastid针对不同的使用者提供了三种不同的控制算法仿真方案:子VI(SubVI)、C结点以及单片机的在线仿真。 首先,最接近于LabVIEW编程环境的即为SubVI方案。用户将自己的控制算法,移植为LabVIEW的SubVI,Plastid在仿真时即时地给该SubVI输入变量(车速、传感器值等),SubVI通过计算得出控制量并输送给Plastid仿真循环。SubVI方案对于熟悉LabVIEW G语言编程方法的使用者来说非常简单,但它的缺点是移植性较差,由于C语言和G语言的差别较大,因此将单片机的控制算法转换为子VI的程序需要一定的工作量。 其次,C结点方案则更适合于采用C语言编程的使用者们,其原理与SubVI方案类似,但是其程序则可直接用C语言编写,用Visual Studio IDE将其编译为dll文件,系统在仿真时会自动调用该dll,从而实现与SubVI一样的控制和反馈。对于本方案,使用者可以将其单片机的程序进行适当的修改后即可使用,因此移植性较高。 最后,利用CAN模块,系统可以直接与单片机进行直接通讯,并实现在线仿真。单片机方面只需要在其CAN接口即时地传送其控制量(这在程序中很容易添加相应程序),而Plastid则通过CAN模块得到这些量,并传送反馈量给单片机。在这一方案,单片机的程序修改不大,但需要有CAN模块等硬件支持。 图4为系统动态仿真的界面,使用者在加载完赛道与赛车文件后,即可进行动态的仿真。其中仿真周期表示系统每一次计算的时间,可以根据单片机的运算周期进行设定,但值得一提的是,在仿真过程中,其真实的仿真周期会根据计算机的性能等因素而不同,但其仿真的结果可以保证确实根据该仿真周期计算而得,从而保证其仿真的可靠性。 图4 动态仿真界面 |