浙江工商職業(yè)技術(shù)學(xué)院 李方園
配方是一組參數(shù)值,它用來提供生產(chǎn)產(chǎn)品和控制生產(chǎn)過程所需的信息。例如餅干的配方包括黃油、白糖、雞蛋、面粉和烹調(diào)時(shí)間等參數(shù)的數(shù)據(jù)類型和參數(shù)值等。在餅干生產(chǎn)線中,當(dāng)黃油等混合成分進(jìn)入混合槽、緩沖槽,然后經(jīng)過灌氣、結(jié)晶固化等程序,最后變成成品。
由于餅干生產(chǎn)線可以生產(chǎn)不同類型的餅干,且配料和工序等基本相同,因此可以組合成若干個(gè)配方的集合,即配方集。這些配方有相同的參數(shù)集合,但是參數(shù)的數(shù)值各不相同。例如餅干配方集包含夾心餅干和蘇打餅干的配方。生成配方集后,在更換產(chǎn)品時(shí),只需要輸入配方的符號(hào)名或配方的編號(hào),就可以使用配方中預(yù)設(shè)的參數(shù)集合,避免了在生產(chǎn)過程中經(jīng)常輸入重復(fù)的大量的參數(shù)。
過去只有在計(jì)算機(jī)上運(yùn)行的組態(tài)軟件等上位機(jī)軟件才有配方功能,小型PLC因?yàn)榇鎯?chǔ)容量小,不可能設(shè)置配方功能。西門子的新一代S7-200小型PLC新增了配方功能,配方集的數(shù)據(jù)和實(shí)時(shí)采集的數(shù)據(jù)保存在64K或256K的EEPROM存儲(chǔ)卡中,存儲(chǔ)卡插在CPU模塊的插槽中。存儲(chǔ)卡的寫操作次數(shù)的典型值為100萬次。S7-200的編程軟件STEP 7-M icro/W IN(V4.0及以上)支持配方功能,它的配方向?qū)в糜谠诖鎯?chǔ)卡中創(chuàng)建、修改配方和配方集。
圖1所示為某餅干生產(chǎn)線的電氣接線示意,其中內(nèi)存盒的選型如表1所示。
圖1 餅干生產(chǎn)線配方使用的電氣接線
表1 內(nèi)存盒的選型
通常采用“配方向?qū)А眮韯?chuàng)建項(xiàng)目代碼,并使用64千字節(jié)或256千字節(jié)永久性內(nèi)存(EEPROM)盒中存儲(chǔ)和獲取配方數(shù)據(jù),需要注意的是:對(duì)配方向?qū)Ш痛鎯?chǔ)卡的支持只有S7-200 CPU 222、CPU 224、CPU 226第2.0版以上。
“配方”的編程步驟如下:
(1)在編程軟件中執(zhí)行菜單命令“工具→配方向?qū)А保蜷_如圖2所示的配方向?qū)?,可以定義和生成配方,如圖3所示。
圖3 配方向?qū)Ш?jiǎn)介
(2)定義配方
在圖4所示的配方定義表中,用鼠標(biāo)點(diǎn)擊“域名”(Field Name)列中的一個(gè)單元,然后編輯該域名,每個(gè)域名都將成為名為RCPx_SYM(x是配方集的編號(hào))的符號(hào)表中的符號(hào)名。用下拉式列表選擇變量的數(shù)據(jù)類型,輸入變量的默認(rèn)值和注釋。所有的新配方將用這些默認(rèn)值作為初值。最多可以定義4個(gè)配方,即最多可以有4個(gè)配方集,每個(gè)配方集內(nèi)配方的個(gè)數(shù)只受存儲(chǔ)卡容量的限制。
圖4 配方定義
(3)創(chuàng)建和編輯配方
在創(chuàng)建和編輯配方對(duì)話框中,按“新”按鈕后,在圖5所示的配方表中,將會(huì)出現(xiàn)一個(gè)白色背景的可編輯的新配方列。該列中同時(shí)出現(xiàn)定義配方時(shí)設(shè)置的默認(rèn)值,應(yīng)根據(jù)產(chǎn)品的實(shí)際情況來修改默認(rèn)值,以創(chuàng)建新的配方??梢孕薷牧袠?biāo)題中配方的名稱,例如 “蘇打餅干”。選中某一列的配方后,可以刪除它,或?qū)⑺膮?shù)設(shè)置為默認(rèn)值。
圖5 餅干生產(chǎn)線的配方定義
(4)分配V存儲(chǔ)區(qū)
如圖6所示,用戶可以選擇V存儲(chǔ)區(qū)中的起始地址,也可以使用配方向?qū)扑]的地址,單擊“建議地址”按鈕,推薦的地址將會(huì)根據(jù)配方的字節(jié)長(zhǎng)度遞增。
圖6 分配V存儲(chǔ)區(qū)
(5)項(xiàng)目組件
配方向?qū)?huì)為新的配方生成項(xiàng)目組件,包括符號(hào)表、數(shù)據(jù)塊、讀/寫配方的子程序和存儲(chǔ)卡數(shù)據(jù),用戶程序可以使用這些組件,用配方的符號(hào)名讀取配方數(shù)據(jù)。必須將帶有配方向?qū)渲玫捻?xiàng)目下載至PLC才能使用它們。下載時(shí)必須在下載對(duì)話框中選中“配方”選項(xiàng),將配方數(shù)據(jù)載入存儲(chǔ)卡。
(6)在用戶程序中讀出和修改配方
在用戶程序中可以調(diào)用配方向?qū)?chuàng)建的子程序,RCPx_Read(x=0~3)將配方從存儲(chǔ)卡傳送到V存儲(chǔ)區(qū),如圖7所示,RCPx_W rite用指定的V存儲(chǔ)區(qū)中的配方數(shù)據(jù)替代存儲(chǔ)卡中的配方,如圖8所示。配方向?qū)?chuàng)建的子程序在指令樹的“指令調(diào)用子例行程序”文件夾中。
圖7 讀配方指令
圖8 寫配方指令
(7)餅干生產(chǎn)線主程序
如圖9所示為餅干生產(chǎn)線主程序示意。
圖9 主程序
從主程序中可以看出,指令框中的Rcp輸入端是配方的編號(hào),數(shù)據(jù)類型為Wo rd,可以使用配方的符號(hào)名,例如“甜餅干”。字節(jié)Error是輸出端返回的執(zhí)行結(jié)果,無錯(cuò)誤時(shí)為0,訪問存儲(chǔ)卡失敗為132。
將主程序?qū)懭胫鞒绦騉B1,將程序塊、數(shù)據(jù)塊和配方下載到CPU,切換到RUN模式。
對(duì)于食品廠餅干生產(chǎn)線來說,當(dāng)用戶程序處理一條配方時(shí),該條配方被讀入PLC的存儲(chǔ)區(qū)。例如:如果生產(chǎn)餅干的話,會(huì)有很多種餅干的配方,巧克力夾心餅干、甜餅干和麥片餅干。但在同一時(shí)間只能生產(chǎn)一種餅干,因而必須選擇合適的配方讀入PLC的存儲(chǔ)區(qū)。
[1] 李方園. 自動(dòng)化綜合實(shí)訓(xùn)教程[M]. 北京: 科學(xué)出版社, 2011.
[2] 李方園. 零起點(diǎn)學(xué)西門子S7-200 PLC[M]. 北京: 機(jī)械工業(yè)出版社, 2012.