SCL語言FOR指令進階應(yīng)用:位置批量賦值
PART.1?需求描述
在一個鋰電池的企業(yè)中,有一個自動上下料的設(shè)備。該設(shè)備需要將生產(chǎn)好的鋰電池,一個一個擺放到托盤當(dāng)中。
該托盤為5*4的矩陣,其每個穴位的位置由X軸和Y軸的坐標(biāo)確定。由于該產(chǎn)線會生成不同型號的產(chǎn)品,不同的產(chǎn)品會使用不同的托盤。要求通過位置1的坐標(biāo),快速得到2~20的坐標(biāo)值。

PART.2?需求分析
在該托盤中,每個穴位在X方向和Y方向的間隔一致,X方向每個穴位間隔10mm,Y方向每個穴位間隔5mm。X方向的位置1~位置5的坐標(biāo)為5、15、25、35、45,其規(guī)律為{X基準(zhǔn)坐標(biāo)+X間距*穴位間隔數(shù)}。Y方向的位置1、6、11、16的坐標(biāo)為5、10、15、20,其規(guī)律為{Y基準(zhǔn)坐標(biāo)+Y間距*間隔層數(shù)}。
穴位的間隔數(shù),可使用序號的余數(shù)可得,而層數(shù)的間隔,可使用序號的商可得。具體實現(xiàn)的思路,可以使用SCL語言的FOR循環(huán)指令進行位置批量賦值實現(xiàn)。
PART.3?項目編程
項目編程分為以下幾個步驟:新建FB塊、在FB添加變量、編寫FB程序、調(diào)用FB程序。
(1)新建FB塊
在博圖的新建項目中,項目樹下選擇“添加新塊”,選擇“函數(shù)塊”,在命名為“位置批量賦值”,選擇語言為“SCL”,點擊“確定”則實現(xiàn)了FB的SCL塊的添加。如圖1所示。

(2)在FB中添加變量
在“Static(靜態(tài)變量)”中添加一個Real數(shù)據(jù)類型的二維數(shù)組,其中“0…19”表示的是1-20的位置,其中“0…1”表示的是X軸和Y軸的坐標(biāo)。在“Temp(運行變量)”中添加一個Int數(shù)據(jù)。如圖2所示。

(3)編寫FB程序
在SCL的編程區(qū)中,編寫控制程序。如圖3所示。

(4)調(diào)用FB程序
將編寫好的FB1塊拖動到OB1中,會自動生成一個背景數(shù)據(jù)塊。如圖4所示。

(5)調(diào)試仿真
仿真調(diào)試后,監(jiān)控背景數(shù)據(jù)塊,數(shù)組的狀態(tài)如圖5所示。

PART.4?經(jīng)驗總結(jié)
本文通過SCL的FOR循環(huán)指令,實現(xiàn)了位置的批量賦值。使用FOR循環(huán)指令,可以實現(xiàn)批量性的、有規(guī)律的數(shù)據(jù)處理。
文章來源:技成培訓(xùn)網(wǎng)原創(chuàng),作者:劉郴;未經(jīng)授權(quán)禁止轉(zhuǎn)載,違者必究!
粉絲福利
微信掃碼領(lǐng)西門子全套PLC電子資料包
