Simulink-PLC代碼生成教程
【說明】本文以PID控制器為例,簡要說明simulink-PLC代碼生成技術(shù)。
【軟件工具】Matlab、博圖TIA V16
一、通過simulink建立控制器模型,定義好輸入接口、輸出接口、內(nèi)部(全局)變量。
【注意】:1.模型必須是離散化模型,或?qū)⑦B續(xù)時域模型通過離散化工具離散化。
? ? ? ? ? ?2.搭建控制器模型用到的塊必須是基礎(chǔ)塊,否則無法轉(zhuǎn)成原子單位(atomic unit),導(dǎo)致無法進(jìn)行代碼生成。
? ? ? ? ? ?3.將需要生成代碼的模型封裝,定義好輸入輸出端口。

1.定義變量,以Kp為例


↓這里選擇的Data Dictionary需要提前建立“數(shù)據(jù)字典”,建立方式在后面集中介紹。



↓這里選擇數(shù)據(jù)存儲位置,Model default-局部變量,ExportedGlobal-全局變量,具體不同變量形式生成代碼是什么效果在后面集中介紹。

↓成功建立變量后,數(shù)據(jù)字典內(nèi)會生成變量Kp。

2. 同理建立剩余變量。

二、??? 模型代碼生成設(shè)置
1.設(shè)置模型為“原子單元”.


2.? 打開PLCcoder工具箱

3.? 配置代碼應(yīng)用的IDE

4.? 配置代碼存儲位置

5.? 配置代碼中的變量及其存儲位置

6.? 生成代碼




三、??? 代碼導(dǎo)入博圖
1.? 打開博圖軟件,新建項目,點(diǎn)擊“添加新的外部文件”

2.? 粘貼剛剛復(fù)制的代碼存儲地址,找到代碼文件,點(diǎn)擊打開

3.? 右擊導(dǎo)入的代碼文件,選擇“從源生成塊”,即可生成FB函數(shù)塊。
?




?
附1: 建立數(shù)據(jù)字典,并與simulink關(guān)聯(lián)。








附2:不同存儲位置生成不同類型的變量


可以在博圖中建立一個虛擬被控對象和生成的PID控制器進(jìn)行仿真驗證控制器的有效性;
改例程僅以PID控制器為例進(jìn)行簡單的說明,更復(fù)雜的模型/控制器也可通過類似的方式建立。
?
?