為了進行結構化編程,必須編製功能塊。從攪拌機控製要求可見,泵A、泵B、攪拌電機的控製要求相似,都是接受操作麵板的啟動按鈕、停止按鈕控製,都需要滿足一定的控製條件,都需要檢測錯誤,都有工作、停止指示燈等。因此,可以通過一個統一的FB塊進行結構化編程。
功能塊FB需要的變量較多,本例中,作為泵A、泵B、攪拌電機共同的輸入,包括了啟動信號( start)、停止信號(stop)、接觸器輔助觸點反饋(fbk)、定時器(T no)、檢測時間(fbk time)等,定義的輸入變量表如圖11-5.1所示。

作為泵A、泵B、攪拌電機共同的輸出,包括了故障標誌寄存器輸出( err)、工作指示燈(start lt)、停止指示燈( stop_lt),定義的輸出變量表如圖11-5.2所示。

作為泵A、泵B、攪拌電機共同的輸入/輸出,有接觸器線圈輸出( coil),定義的輸入/輸出變量表如圖11-5.3所示。

作為泵A、泵B、攪拌電機共同的靜態變量,有啟動延時(timl BIN與timl BCD),定義的靜態變量表如圖11-5.4所示。

2.編製功能塊
根據以上變量定義與控製要求,用於攪拌機泵A、泵B、攪拌電機控製的功能塊FB1編製如圖11-5.5所示。

功能塊包括了接觸器的啟動/停止控製、故障檢測、指示燈3部分的控製程序,全部采用符號地址(形式參數)進行編程。