基本控制庫 (LBP)系列的文章一和文章二(文末有跳轉鏈接),分享了LBP相關的說明及使用實施前的一些通用設置,本系列中所有實例均基于此設置,如未進行設置可能造成編譯報錯,無法使用的情況出現。請在進行實例測試前,先進行基礎設置。
image-20240826170029776
01 測試環境軟件:
硬件:
注:小編電腦已安裝軟件如下:
image-20240826111028433
02 LBP_Aggr8--控制Zui多8個集合功能描述:
該塊管理多達八個集合的自動開/關和切換。以下是可能的模式:
image-20240826103154302
輸入參數說明:
identName | String[30] | 識別名稱 |
switchCmd | Bool | 每個上升沿執行切換 |
parSwitchByTimes | Bool | 當設置為true時,根據時間控制切換 |
request | UInt | 請求的集合數量(0到8) |
indAggr1 至 indAggr8 | Byte | 集合1至8的狀態,位0 - 真:集合就緒,位1 - 真:集合已開啟,位4至7 - 開啟序列中的位置(優先級) |
delayTime | Time | 開啟延遲時間 |
limitSecs | DInt | 時間控制切換的運行時間(如果parSwitchByTimes = true) |
restTime | Time | 關閉后的休息時間(如果parSwitchByTimes = true) |
reset | Bool | 真:重置錯誤 |
輸出參數說明:
on | Byte | 位0-7 – 對集合1-8的開啟(true)或關閉(false)命令 |
errNoSwitch | Bool | true: 沒有集合可用 |
errAggr | Byte | 一個或多個集合的錯誤 |
switchEnable | Bool | true: 開關操作可能 |
switchActive | Bool | true: 開關操作活躍 |
intError | Word | 位0 - true: 系統錯誤(讀取系統時間失敗) |
輸入輸出接口參數(panels):
settingsPLC | UDT | 位0-7 – 對集合1-8的開啟(true)或關閉(false)命令 |
settingsHMI | UDT | true: 沒有集合可用 |
statusHMI | UDT | 一個或多個集合的錯誤 |
alarms1 | Word | Comfort/Advanced面板離散量報警集合 |
alarms2 | Word | Comfort/Advanced面板離散量報警集合 |
注:panels參數類型為數組,數組大小由鏈接HMI數量決定;
用戶定義類型--settingsHMI
parSwitchByTimes | Bool | true: 開關時間控制 |
request | UInt | 所需集合的數量 |
prios | Array[0..7] of UInt | 集合1至8的開關順序位置 |
delayTime | Time | 延遲時間(再次開啟前的空閑時間) |
limitSecs | Time | 時間控制開關的Zui大運行時間 |
restTime | Time | 關閉后剩余的運行時間 |
note | String[80] | 參見“note” |
reset | Bool | 重置錯誤,開關命令和剩余時間 |
opStation | String[16] | 參見“opStation” |
overwrite | Word | 參見“overwrite”位分配:位0 – 開關命令/時間開關/全部開關(“over”)位1 – 開關命令(“cmd”)位2 – 時間開關(“cmd”)位3 – 請求(“over”)位4 – 延遲時間(“over”)位5 – 休息時間(“over”)... 位7 – 限制時間(“over”)位8 – 開關順序位置(“over”) |
opSecs | Array[0..7] of Time | 集合1至8的運行時間 |
alarmsInfo | UDInt | 報警信息 |
alarmsAck | UDInt | 報警確認 |
用戶定義類型--settingsPLC
parSwitchByTimes | Bool | true: 開關時間控制。 |
request | UInt | 所需集合的數量。 |
prios | Array[0..7] of UInt | 集合1到8的開關順序位置。 |
delayTime | Time | 延遲時間(再次開啟前的空閑時間)。 |
limitSecs | Time | 時間控制開關的Zui大運行時間。 |
restTime | Time | 關閉后的休息時間。 |
用戶定義類型--statusHMI
identName | String[30] | 識別名稱 |
nextUp | Int | 下一個要啟動的集合編號。 |
nextDown | Int | 下一個要關閉的集合編號。 |
diffLimit | Time | 運行時間和Zui大執行時間之間的差異。 |
cycleSecs | Array[0..7] of Time | 集合1至8的運行時間(數組字段0對應集合1)。 |
restTimes | Array[0..7] of Time | 集合1至8剩余的休息時間(數組字段0對應集合1)。 |
readys | Array[0..7] of Bool | true: 集合準備就緒可以啟動(數組字段0對應集合1)。 |
errors | Array[0..7] of Bool | true: 集合被中斷(數組字段0對應集合1)。 |
runCmds | Array[0..7] of Bool | 集合1至8的啟動命令(數組字段0對應集合1)。 |
ons | Array[0..7] of Bool | true: 集合已啟動(數組字段0對應集合1)。 |
request | UInt | 請求的集合數量。 |
errNoSwitch | Bool | true: 沒有集合可用。 |
runUpDown | Bool | 集合正在啟動或關閉。 |
switchenable | Bool | true: 開關操作可能。 |
LBP_Aggr8功能塊使用步驟如下(新建TIA Portal 項目,添加PLC,并完成系列文章一和文章二中的設置,過程不在贅述);
在Main程序中調用LBP_Aggr8功能塊,并指定背景數據塊;(相應UDT,自動復制完成)
image-20240826112750011新建全局DB,根據功能塊接口建立IO變量;(實際應用中可使用結構體,實現快速添加)
image-20240826133459846注:參數panels使用數據塊PanelsBlock(庫文件中已有,拖拽使用),數組數量由鏈接HMI數量決定
基本控制庫 (LBP)主要應用于相同對象的快速批量處理,因此LBP庫提供了相應的圖形面板庫。本系列實例均基于Wincc Comfort面板進行分享,使用步驟如下:(本實例基于系列文章一和二中的設置進行,因此HMI新建及設置不在贅述)
在HMI變量中新建變量表“LBP_Aggr8”(也可不用新建),并將PLC程序中LBP_Aggr8背景數據塊中“LBP_typeAggr8Sym”數據類型拖入變量表中,并重命名該變量;
image-20240826151422990從項目庫中將“LBP_Aggr8” 及 “LBP_General”畫面模板拖擴HMI畫面導航欄中
image-20240826161708661從項目庫中模板副本中復制“LBP_Templates”到HMI畫面管理中的模板;
image-20240826143921630在項目庫中選擇報警類別,并拖入到HMI報警中
image-20240826144352529從Demo項目中,將HMI報警中與“Aggr8”相關的離線報警全部復制到當前項目中;
image-20240826145008243注:每個FB實例都需要,單獨的一組報警信息;
將報警信息中的名稱,和HMI確認變量前綴或后綴(Demo中:InstDemo_2_1_instAggr8),批量替換為項目HMI變量中實例名稱;
image-20240826151804587打開HMI根畫面(實際應用中根據需要選擇畫面),并從項目庫中選擇“LBP_SmAggr8”圖例,并拖入到HMI畫面中
vmware_cAML1PMhc8打開圖例屬性窗口,并選擇接口選項,將接口參數與PLC FB背景數據塊中的“statSymbolAggr8”進行鏈接
image-20240826152745114
完成程序和HMI設計,即可使用PLC-Sim進行仿真測試,步驟如下:
使用PLC-SIM啟動PLC仿真,并啟動該實例,功能塊運行;
image-20240826170524096點擊TP900,啟動仿真器;
image-20240826170844764點擊功能塊圖標,進入樣例測試模板;
image-20240826170942915以上配置仿真測試完成,更多功能請自行測試;
LBP_Aggr8拖入后,接口參數數據類型與實際不符,需要更新數據接口;
image-20240826115203959處理方法:打開LBP,點擊功能塊上方警告信息,選擇“編輯類型”后,右鍵出錯的接口選擇“更新界面”問題解決;
image-20240826115234502image-20240826115256891
- 計算輸入平均值 LBP_AnaAvg 功能塊使用分享可組態輸入值數量(不超過3個) 2024-12-03
- 基本過程庫(LBP)五:超實用模擬量處理功能塊LBP_AnaRead包含常規模擬量及溫度信號處理 2024-12-03
- 通過 Modbus TCP通訊實現西門子 Wincc 與 s7-1500通訊 2024-12-03
- 通過 Modbus TCP通訊實現西門子 Wincc 與 s7-1500通訊, 2024-12-03
- 西門子 S7-1200 系列五:TIA博圖中OB、DB、FC、FB介紹及應用范圍 2024-12-03
- 什么是張力變頻器,其優點有哪些?什么是嵌入型變頻器,其有哪些優點? 2024-12-03
- 伺服電機抖動不轉動是怎么回事? 2024-12-03
- ABB變頻器的硬件配置詳解 2024-12-03
- 步進電機單極性和雙極的優缺點 2024-12-03
- 非接觸式溫度傳感器的優缺點有哪些 2024-12-03
- 變頻器通訊故障原因分析及解決 | 變頻器主回路常見故障怎么維修? 2024-12-03
- 變頻器變頻調速后異步電動機機械特性如何? 2024-12-03
- 步進電機和驅動器常見問題匯總 2024-12-03
- 同步變頻與異步變頻調速電動機有哪些區別?變頻調速系統加減速時間是如何定義的? 2024-12-03
- PLC計數程序段,達到計數停止加料信號 2024-12-03
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684