術(shù)成PLC培訓(xùn)中心

7x24小時(shí)咨詢熱線

400-660-3310

當(dāng)前位置 : 好學(xué)校 術(shù)成PLC培訓(xùn)中心 學(xué)習(xí)資訊 資訊詳情

FB塊接口類型大不同—廈門PLC培訓(xùn)

2021-09-09

對于工控新人來說,使用STEP7編程時(shí),首先需了解OB/FC/FB/DB等塊的功能和作用,待掌握這些塊后再進(jìn)行編程就“輕而易舉”了。

在熱線上經(jīng)常遇到用戶咨詢FB的接口變量類型IN_OUT、STAT、TEMP在使用上有何區(qū)別,以下通過一個(gè)簡單的例子進(jìn)行說明。運(yùn)用FB塊編程計(jì)算公式:(A+B) * C = D,在程序中需要通過一個(gè)中間變量(例如其變量名定義為“TEMP_value”)傳遞“A”和“B”相加的結(jié)果,然后再乘以“C”得到最終結(jié)果“D”;將中間變量“TEMP_value”分別定義為IN_OUT、STAT或TEMP類型后做如下測試。

首先創(chuàng)建FB1,在IN接口類型中新建A、B、C 三個(gè)變量,數(shù)據(jù)類型INT;在OUT接口類型中新建D 變量,數(shù)據(jù)類型INT;在OB1中調(diào)用FB1,并生成對應(yīng)的背景DB塊DB1。

情形一,將中間變量“TEMP_value”定義為IN_OUT類型時(shí),接口定義及程序如圖1:

中間變量“TEMP_value”定義為IN_OUT類型

圖1  中間變量“TEMP_value”定義為IN_OUT類型

下載到CPU中執(zhí)行程序監(jiān)控,在調(diào)用FB1的接口參數(shù)處和背景DB塊中都可以監(jiān)控到變量“A”和“B”相加的中間結(jié)果“TEMP_value”,如圖2所示。

中間變量“TEMP_value”定義為IN_OUT時(shí)的在線數(shù)據(jù)

圖2  中間變量“TEMP_value”定義為IN_OUT時(shí)的在線數(shù)據(jù)

情形二,將中間變量“TEMP_value”定義為STAT類型時(shí),接口定義及程序如圖3:

中間變量“TEMP_value”定義為STAT類型

圖3  中間變量“TEMP_value”定義為STAT類型

下載到CPU中執(zhí)行程序監(jiān)控,僅能在其背景DB塊中監(jiān)控到變量“A”和“B”相加的中間結(jié)果“TEMP_value”的值,而在調(diào)用FB1的接口參數(shù)處無該中間變量,如圖4所示。

中間變量“TEMP_value”定義為STAT時(shí)的在線數(shù)據(jù)

圖4  中間變量“TEMP_value”定義為STAT時(shí)的在線數(shù)據(jù)

情形三,將中間變量“TEMP_value”定義為TEMP類型時(shí),接口定義及程序如圖5:

中間變量“TEMP_value”定義為TEMP類型

圖5  中間變量“TEMP_value”定義為TEMP類型

下載到CPU中執(zhí)行程序監(jiān)控,既不能在其背景DB塊中監(jiān)控到變量“A”和“B”相加的中間結(jié)果“TEMP_value”的值,也不能在調(diào)用FB1的接口參數(shù)處看到該中間變量,如圖6所示。

中間變量“TEMP_value”定義為TEMP時(shí)的在線數(shù)據(jù)

圖6  中間變量“TEMP_value”定義為TEMP時(shí)的在線數(shù)據(jù)

對于同一個(gè)中間變量,在FB中定義為不同的參數(shù)類型時(shí),其接口參數(shù)和對應(yīng)的背景數(shù)據(jù)塊的顯示都不盡相同。所以在不同的需求下可自行定義中間變量的類型,以滿足不同的需求。西門子創(chuàng)新工業(yè)之道是“知其道,用其妙”,編程也不例外,知“FB接口類型”之道,用其妙

收藏
分享到:

相關(guān)課程

相關(guān)資訊

術(shù)成PLC培訓(xùn)中心

術(shù)成PLC培訓(xùn)中心

認(rèn)證等級

信譽(yù)良好,可安心報(bào)讀

術(shù)成PLC培訓(xùn)中心

已獲好學(xué)校V2信譽(yù)等級認(rèn)證

信譽(yù)值

  • (60-80)基礎(chǔ)信譽(yù)積累,可放心報(bào)讀
  • (81-90)良好信譽(yù)積累,可持續(xù)信賴
  • (91-100)充分信譽(yù)積累,推薦報(bào)讀

與好學(xué)校簽訂讀書保障協(xié)議:

  • 100%
  • 360
  • 7929
在線咨詢
;