以前上學的時候,總感覺自動代碼生成的不是很靠譜,也曾經粗淺的用過,當時看到自動生成的代碼變量命名比較混亂,之后就基本上沒興趣了。工作以后,又用了下自動代碼生成,才發現這是一等一的好工具。
自動代碼生成的優勢在於:
1) 圖形化的策略建模非常有利於交流;
2) 策略工程師不需要有很豐富的編程經驗;
3) 自動代碼生成的代碼質量是比較高的,至少在安全性方面是比人工編碼高;
4) 一般情況下,模型為定點模型,計算效率更佳,所以在定點方面比較有優勢;
5) 模型測試起來要比代碼測試方便。
Simulink自動代碼使用MPT object來描述參數和信號(標定量和測量量),使用Simulink.NumericType來描述數據類型。MPT object描述了參數和信號的一些基本屬性:數據類型、初始值、與自動代碼生成相關的選項。Simulink.NumericType主要用於描述定點數據類型,即數據的定義、縮放因子和偏移量。通常情況下會有一個數據字典用來描述數據類型,一個項目中所有人共用一套數據字典。設置完MPT object的屬性、將模型由浮點轉為定點、設置模型自動代碼生成屬性,然后就可以自動生成代碼了。
詳細過程回頭再補上。