張君
山東明佳科技有限公司 山東 泰安 271000
如圖1,示意一種工位調(diào)整的情況,方案設(shè)計(jì)中按照工位1、2、3、4的順序,現(xiàn)場(chǎng)需要調(diào)整為工位1、3、2、4的順序,即需要對(duì)調(diào)工位2和工位3。因?yàn)槎喙の还灿靡粋€(gè)邏輯控制器,工位信息中包含之前所有工位和本工位的信息,所以直接調(diào)整工位順序會(huì)導(dǎo)致信息傳輸無法正常進(jìn)行,最終導(dǎo)致整個(gè)設(shè)備的邏輯紊亂。所以按照之前工位順序編寫的控制邏輯就無法適應(yīng)新的工位變更。此時(shí),通常的做法就需要根據(jù)工位的變更修改邏輯控制程序,導(dǎo)致修改程序工作量大,出錯(cuò)概率高,時(shí)效性無法保證,現(xiàn)場(chǎng)驗(yàn)證條件不充分等問題[1]。
圖1 工位變更示意圖
基于以上原因,需要研究一種新的程序結(jié)構(gòu)。新的程序結(jié)構(gòu)應(yīng)滿足不修改控制程序邏輯部分,只通過修改有限的幾個(gè)參數(shù)即可實(shí)現(xiàn)工位順序的變更。
研究程序結(jié)構(gòu)之前,首先需要優(yōu)化數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)是鎖存各工位信息的數(shù)據(jù)結(jié)構(gòu)體,工位間傳遞的信息需要存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)中,并在邏輯程序中對(duì)其進(jìn)行操作。因?yàn)榘凑罩暗臄?shù)據(jù)結(jié)構(gòu),并沒有包含工位順序相關(guān)的信息,工位順序信息在邏輯程序中已固定,所以新的數(shù)據(jù)結(jié)構(gòu)應(yīng)增加工位順序信息[2]。
如下,在原有數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)上新增“工位順序”,同時(shí)擴(kuò)展檢測(cè)不合格數(shù)據(jù)存儲(chǔ)容量,不合格容量之前設(shè)計(jì)是按照工位順序定義,隨著順序排序靠后容量遞增。
如果需要調(diào)整工位2和工位3的順序,在數(shù)據(jù)結(jié)構(gòu)中只需要調(diào)整工位順序即可,將工位2的工位順序定義為3,工位3的工位順序定義為2。程序示例如下:
接下來,需要處理的核心就是程序結(jié)構(gòu)如何做對(duì)應(yīng)的調(diào)整。我們知道,采用靈活的程序結(jié)構(gòu)是為滿足現(xiàn)場(chǎng)布局的快速調(diào)整,需要達(dá)到的預(yù)期是修改有限的參數(shù)即可實(shí)現(xiàn)程序的邏輯重構(gòu),不希望修改程序本身代碼導(dǎo)致額外的風(fēng)險(xiǎn)[3]。
那么,新的程序結(jié)構(gòu)應(yīng)該包含工位順序處理、信息采集處理等調(diào)整。新的程序結(jié)構(gòu)中按照“讀->查->存->檢->包”的步驟進(jìn)行處理,這里我們稱之為“五步法”,程序結(jié)構(gòu)用偽代碼形式示例如下:
步驟1:讀取本工位的工位順序;
步驟2:查詢本工位的前一工位信息(包括前一工位包含的其他工位信息);
步驟3:查詢到的信息存儲(chǔ)到本工位信息中;
步驟4:本工位檢測(cè)信息加載到本工位;
步驟5:本工位信息打包到本工位信息中(準(zhǔn)備給下一工位查詢);
根據(jù)“五步法”,我們可以將程序“具形化”:
上面各步驟可以按照實(shí)際邏輯進(jìn)行分解實(shí)現(xiàn),經(jīng)過在現(xiàn)場(chǎng)實(shí)際設(shè)備中的運(yùn)行驗(yàn)證,此程序結(jié)構(gòu)可以很好地解決工位排序調(diào)整的問題,在減小設(shè)備調(diào)試難度,提高設(shè)備靈活性等方面發(fā)揮了積極作用。