FC塊與FB最大的區别就是FB塊擁有自己的DB塊來存儲數據,而FC卻沒有,所以在多次調用同一個FC塊有時出現錯誤,譬如将FC寫成一個定器,
當多次調用改FC塊編寫的定時器時,由于每次調用時設定的時間不同,則會對計時造成影響。解決這個問題可以使用STEP中FB塊的一個功能多重背景數據。
多重背景數據簡單說就是為每次調用的功能塊分别獨立的數據存儲區,互不幹擾。
一、 CPU自帶的clock memory(也就是系統時鐘功能)
1、在硬件組态中 CPU---屬性----時鐘脈沖器---勾選時鐘存儲器---填寫字節0及MB0
如下圖所示 MB0中7個位對應的時間脈沖(此時間脈沖為方波,不是上升沿)
2、然後書寫程序由于設置的系統時鐘為方波型,不能直接用于計時,需要做成上升沿(每隔N秒一次上升沿)
3、通過用ADD_I指令來實現計時,将之前做的每隔一秒鐘導通的上升沿作為使能,每隔1S中自加1一次,來實現計時
二、利用多重背景數據來建立定時器
1、新建一個FB塊FB50 “勾選多重背景功能” 并書寫定時器的程序
2、再建立另一個FB塊FB51用來存放之前的編寫功能的FB塊
3、打開第二步建立的FB塊 在“STAR”類型下的“數據類型”選擇為“FB”依次可以建立多個功能塊
4、“數據類型”填寫第一步建立的FB50
5、在“多重背景”選項欄中可以找到第四步建立的數據塊,并将它們拖入FB51中,然後填寫在各個引腳上填寫數據
6、最後OB1中調用存放着功能塊的FB塊FB51;并分配一個背景DB塊,如下圖DB32
7、進入DB32 可以看到每個功能塊所分配了不同的地址
8、測試 在變量表中對各個定時器設定時間,然後監控,各個定時器設定值各不相同;互不幹擾。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!