為了保持上位機(jī)和PLC參數(shù)設(shè)置和控制狀態(tài)的一致,PLC負(fù)責(zé)保存所有系統(tǒng)設(shè)定參數(shù)和現(xiàn)場(chǎng)狀態(tài)數(shù)據(jù)。上位機(jī)剛開機(jī)時(shí),就先發(fā)查詢包,獲得當(dāng)前PLC的實(shí)際狀態(tài)數(shù)據(jù)(包括現(xiàn)場(chǎng)數(shù)據(jù)和操作員以前設(shè)定的系統(tǒng)數(shù)據(jù)).然后上位機(jī)一直在向PLC發(fā)命令:若有控制動(dòng)作,則發(fā)控制包;若沒有,則發(fā)查詢包。而PLC一直向上位機(jī)發(fā)送格式相同的數(shù)據(jù)包。這樣做可以兼顧通信速度和執(zhí)行效率。因查詢包只用一個(gè)字節(jié),而控制包中包含控制信息,需128字節(jié)(或更多)。通信量的減少直接改善了通信條件。而控制包不再細(xì)分,如配方包,提前量包等,且PLC發(fā)送相同格式數(shù)據(jù),則是為簡(jiǎn)化通信協(xié)議,以免包種類過多造成雙方處理的麻煩,從而提高執(zhí)行效率。PLC連接上位機(jī)的控制和現(xiàn)場(chǎng)設(shè)備,是配料系統(tǒng)的中樞。
為避免對(duì)上位機(jī)的依賴,它自成一個(gè)獨(dú)立系統(tǒng),在與上位機(jī)通信出現(xiàn)故障或上位機(jī)未運(yùn)行監(jiān)控程序時(shí),可根據(jù)設(shè)定的參數(shù)自行運(yùn)行。正常情況下,PLC一直在循環(huán)執(zhí)行主程序,而以中斷方式處理與上位機(jī)的通信,并且這種中斷優(yōu)先級(jí)最高,從而保證上位機(jī)的控制命令能及時(shí)得到響應(yīng)。上位機(jī)軟件上位機(jī)分成主模塊、配方設(shè)定、參數(shù)設(shè)置、模擬控制、統(tǒng)計(jì)報(bào)表、通信等模塊。主要是進(jìn)行參數(shù)、配方的設(shè)置,運(yùn)行控制,統(tǒng)計(jì)報(bào)表、打印,及數(shù)據(jù)庫(kù)的產(chǎn)生和維護(hù)等。為了上位機(jī)與PLC的通信能實(shí)時(shí)、高速、穩(wěn)定地進(jìn)行,采用多線程方法。串行通信單獨(dú)用一個(gè)線程。