LEAD_LAG:提前和滞后算法
模塊
模塊如圖所示,添加步驟:基本指令,原有,LEAD_LAG超前和滯后算法。也可以直接搜索。
主要設(shè)置參數(shù),除模塊中所示四個參數(shù)外,超前和之后時間需要通過模塊靜態(tài)變量設(shè)置。如下圖所示。
LD_TIME為超前時間,LG_TIME為延時時間。
測試
參數(shù)采樣頻率10ms,分別延時100ms和10ms。
仿真測試結(jié)果:
LG_TIME=100ms
LG_TIME=10ms
注意:
LEAD_LAG算法中超前、滯后時間與采樣時間單位相同,當(dāng)采樣時間為ms,超前和滯后時間同樣為ms。
參考學(xué)習(xí)視頻
B站
幫助文檔
LEAD_LAG:提前和滯后算法 (S7-1500)| LEAD_LAG:提前和滯后算法 |
說明
可以使用“提前和滯后算法”(Lead and lag algorithm) 指令,通過模擬量變量處理信號。GAIN 參數(shù)的增益值必須大于零。使用以下等式計算“提前和滯后算法”指令的結(jié)果:
僅當(dāng)在固定的程序周期中運行指令“提前和滯后算法”時,才生成正確的結(jié)果。參數(shù) LD_TIME、LG_TIME 和 SAMPLE_T 中必須指定相同的運算單元。計算 LG_TIME > 4 + SAMPLE_T 時,該指令與以下函數(shù)類似:
OUT = GAIN * ((1 + LD_TIME * s) / (1 + LG_TIME * s)) * IN
當(dāng)參數(shù) GAIN 的值小于或等于零時,將不進(jìn)行計算,并在參數(shù) ERR_CODE 中輸出錯誤信息。
“提前和滯后算法”指令可與回路一起用作動態(tài)前饋控制中的補(bǔ)償器。該指令由兩項操作組成。“提前”操作將輸出 OUT 的相位進(jìn)行移位,使得輸出提前于輸入。相反,“滯后”操作對輸出進(jìn)行移位,使得輸出滯后于輸入。由于“滯后”操作相當(dāng)于積分,因此可用作噪聲抑制器或低通濾波器。“提前”操作相當(dāng)于微分,因此可用作高通濾波器。同時使用兩種操作(“提前”和“滯后”),將導(dǎo)致在較低頻率時輸出的相位滯后于輸入,而在較高頻率時輸出的相位提前于輸入。這意味著“提前和滯后算法”指令可用作帶通濾波器。
參數(shù)
下表列出了“提前和滯后算法”指令的參數(shù):
| EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能輸入 |
| ENO | Output | BOOL | I、Q、M、D、L | 使能輸出 |
| IN | Input | REAL | I、Q、M、D、L、P 或常量 | 待處理的當(dāng)前采樣時間(周期)輸入值。 參數(shù) IN 中也可指定常數(shù)。 |
| SAMPLE_T | Input | INT | I、Q、M、D、L、P 或常量 | 采樣時間 參數(shù) SAMPLE_T 中也可指定常數(shù)。 |
| OUT | Output | REAL | I、Q、M、D、L | 指令的結(jié)果 |
| ERR_CODE | Output | WORD | I、Q、M、D、L | 錯誤信息 |
| LD_TIME | Static | REAL | I、Q、M、D、L、P 或常量 | 提前時間的單位與采樣時間的相同。 |
| LG_TIME | Static | REAL | I、Q、M、D、L、P 或常量 | 滯后時間的單位與采樣時間的相同。 |
| GAIN | Static | REAL | I、Q、M、D、L、P 或常量 | %/% 的增益(穩(wěn)態(tài)下輸出變化與輸入變化的比率)。 |
| PREV_IN | Static | REAL | I、Q、M、D、L、P 或常量 | 上一次輸入 |
| PREV_OUT | Static | REAL | I、Q、M、D、L、P 或常量 | 上一次輸出 |
ERR_CODE 參數(shù)
下表列出了 ERR_CODE 參數(shù)值的含義:
| 0000 | 無錯誤 |
| 0009 | 參數(shù) GAIN 的值小于或等于 0。 |
| * 在程序編輯器中,錯誤代碼可顯示為整數(shù)或十六進(jìn)制值。有關(guān)切換顯式格式的更多信息,請參見“另請參見”。 | |
示例
以下示例說明了該指令的工作原理:
| 說明 可以初始化數(shù)據(jù)塊中的靜態(tài)參數(shù)。 |
下表通過具體的值對該指令的工作原理進(jìn)行了說明。
執(zhí)行前
在本例中,輸入?yún)?shù)使用以下值:
| IN | Tag_Input | 2.0 |
| SAMPLE_T | Tag_InputSampleTime | 10 |
以下各值保存在該指令的背景數(shù)據(jù)塊“LEAD_LAG_DB”中:
| LD_TIME | DBD12 | 2.0 |
| LG_TIME | DBD16 | 2.0 |
| GAIN | DBD20 | 1.0 |
| PREV_IN | DBD24 | 6.0 |
| PREV_OUT | DBD28 | 6.0 |
執(zhí)行后
執(zhí)行該指令之后,將以下各值寫入輸出參數(shù):
| OUT | Tag_Output_Result | 2.0 |
以下各值保存在該指令的背景數(shù)據(jù)塊“LEAD_LAD_DB”中:
| PREV_IN | DBD24 | 2.0 |
| PREV_OUT | DBD28 | 2.0 |
有關(guān)以上示例中編程代碼的更多信息,請參見“Sample Library for Instructions”。
總結(jié)
以上是生活随笔為你收集整理的LEAD_LAG:提前和滞后算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTTPS协议工作原理(SSL数字证书)
- 下一篇: OkHttp 官方中文文档