回覆列表
  • 1 # 控制研究控

    在西門子S7-300plc程式設計中,使用最多的定時器,其實應該是SFB4這個塊,因此你的問題就轉變成SFB4這個塊如何在另外一個FB塊中單次或者多次呼叫時候,FB塊中如何宣告這個SFB4塊,使得SFB4作為FB塊的多重背景中的一部分!

    這個圖片是STEP7軟體中系統功能塊下的截圖,可以看到SFB4是TON也就是通電延時接通的一個定時器,SFB5是TOF即延時斷開的定時器,這裡我就用我個人經常用的SFB4來講一下,我在一個FB塊中如果要多次使用這個SFB4改如何處理!

    首先我建立一個FB3的多重背景功能塊,然後在FB3中呼叫2次SFB4這個定時器,我的設定如下圖:可以看到,SFB4其實是被設定在了SATA變數中,也就是靜態變數中的!名稱是你自己想叫什麼都可以,資料型別那裡顯示TON是系統自己更改過來的,其實我輸入的時候,我輸入的是SFB4,來說一下為何這裡要輸入SFB4?因為FB塊中的靜態變數,為很多塊成為FB塊的一個子背景,提供了一個介面,如下圖:

    這個圖片上我畫紅線的SFB<nr>,其實就是我輸入SFB4的真正資料型別,nr就是number的意思!在這裡可以看到,其他是比如FB<nr>也是支援在SATA中呼叫的!

    然後,再來看一下FB3這個塊在OB1中呼叫的情況:

    從這裡再來看上邊FB3的程式塊,也就是M0.0接通3s後M0.1為1,5s後M0.2為1!

    來看一下最終的執行動態圖吧:

    從這個動態圖可以看到,我把m0.0置為1後,M0.1和M0.2都陸續自動為1了,就是因為SFB4定時器的計時值到了的原因!

  • 中秋節和大豐收的關聯?
  • SpaceX什麼時候送宇航員去國際空間站?