郭國智,郭湘杰
(湖南交通工程學(xué)院,湖南 衡陽 421001)
在工業(yè)設(shè)計(jì)自動(dòng)化生產(chǎn)領(lǐng)域,對(duì)計(jì)算機(jī)監(jiān)控通信軟件的需求逐漸變高。為了滿足自動(dòng)化、信息化水平的要求,其監(jiān)控通信軟件在監(jiān)控系統(tǒng)的開發(fā)上,主要在計(jì)算機(jī)和PCL通信上進(jìn)行結(jié)合,搭建自動(dòng)監(jiān)控系統(tǒng)。為了使車間在管理過程中能夠直接被控制,對(duì)于PCL的交互設(shè)計(jì)相當(dāng)重要。同時(shí)在開發(fā)過程當(dāng)中,因?yàn)楝F(xiàn)今工業(yè)設(shè)計(jì)車間,其管理的一體化主要使用的技術(shù)都是基于以太網(wǎng),并且CIP等協(xié)議也成了當(dāng)下控制協(xié)議的主流協(xié)議。所以在保證監(jiān)控系統(tǒng)的穩(wěn)定性上,需要以CIP、以太網(wǎng)、CPL等三個(gè)方面進(jìn)行監(jiān)控系統(tǒng)的開發(fā)。
對(duì)于計(jì)算機(jī)監(jiān)控通信軟件而言,其基于控制及信息協(xié)議,主要體現(xiàn)在開發(fā)過程中,其針對(duì)PCL的交互設(shè)計(jì)上需要相當(dāng)重視[1]。其主要原因是監(jiān)控通信軟件在對(duì)計(jì)算機(jī)進(jìn)行監(jiān)控工作時(shí),其運(yùn)行方式依靠監(jiān)控系統(tǒng)進(jìn)行,對(duì)計(jì)算機(jī)自身的依賴性太強(qiáng),不滿足自動(dòng)化原則。而且監(jiān)控系統(tǒng)是由計(jì)算機(jī)中的主機(jī)部分,以及相關(guān)的編程軟件進(jìn)行配合,再加上通信中傳輸消息的設(shè)備進(jìn)行運(yùn)轉(zhuǎn)。傳感器作為傳輸與PCL相關(guān)的消息的設(shè)備,在配合PCL時(shí),需要保證傳輸過程的不被干擾性。確保其消息是準(zhǔn)確可執(zhí)行的,能夠被監(jiān)控系統(tǒng)使用。因此設(shè)計(jì)穩(wěn)定的控制系統(tǒng)需要PCL和傳感器之間進(jìn)行高度的配合,兩者之間需要確??刂七^程具有自動(dòng)化的特性。自動(dòng)化控制系統(tǒng)的搭建,能夠擺脫對(duì)計(jì)算機(jī)的基礎(chǔ)依賴,高效率的對(duì)相關(guān)控制位置以及參數(shù)進(jìn)行獲取。同時(shí)在具有自動(dòng)化的情況下,能夠更快更精確的對(duì)相關(guān)控制點(diǎn)進(jìn)行命令傳輸和執(zhí)行,提高了監(jiān)控系統(tǒng)的準(zhǔn)確性。同時(shí)在監(jiān)控運(yùn)轉(zhuǎn)的過程中,針對(duì)PCL的交互設(shè)計(jì)能夠及時(shí)地對(duì)監(jiān)控系統(tǒng)的指令進(jìn)行反饋,其主動(dòng)性能夠讓監(jiān)控系統(tǒng)更好地對(duì)計(jì)算機(jī)進(jìn)行監(jiān)控。為了更近一步的簡化系統(tǒng)流程,在進(jìn)行計(jì)算機(jī)與PCL交互設(shè)計(jì),建立自動(dòng)化的監(jiān)控系統(tǒng)時(shí),需要考慮PCL能否保證在系統(tǒng)發(fā)出指令時(shí),及時(shí)以PCL報(bào)告對(duì)系統(tǒng)進(jìn)行反饋。所以在PCL報(bào)告狀態(tài)的中間可以建立儲(chǔ)存區(qū),以此作為相關(guān)數(shù)據(jù)的存儲(chǔ)區(qū)域。在進(jìn)行主動(dòng)通信時(shí),建立單向通信方式,向服務(wù)器進(jìn)行讀寫的數(shù)據(jù)傳輸,從而降低PCL自身對(duì)外的依賴程度。以此完成基于CPL協(xié)議的基礎(chǔ)之上,對(duì)用戶層的應(yīng)答,初步完成監(jiān)控系統(tǒng)的設(shè)計(jì)。
CIP協(xié)議作為國際上通用的工業(yè)設(shè)計(jì)協(xié)議,因?yàn)槠涿嫦驅(qū)ο蟮奶厥庑?,被現(xiàn)今大部分領(lǐng)域應(yīng)用在設(shè)備和裝置之間的連接上[2]。其連接方式主要有兩種:一是I/O連接。這種連接方式自身的連接對(duì)象不一定只有一個(gè),往往和多個(gè)設(shè)備之間進(jìn)行實(shí)時(shí)傳輸。其對(duì)消息的傳輸和反饋及時(shí)性高,并且能夠滿足很多工業(yè)車間設(shè)備,對(duì)及時(shí)性得要求。I/O連接方式的專用性很強(qiáng),主要體現(xiàn)在其是一個(gè)輸出和多個(gè)接受使用的對(duì)象,進(jìn)行信息傳輸。二是顯示消息連接,這種方式相對(duì)于I/O連接其面向?qū)ο蟊容^單一。其中的顯示消息,因?yàn)槭茱@示消息連接通信的限制,只能夠依靠這種連接方式進(jìn)行專用性的傳輸。并且這種消息連接方式可以用來傳輸系統(tǒng)的命令指令,對(duì)某項(xiàng)行為進(jìn)行指引和執(zhí)行同時(shí)向監(jiān)控系統(tǒng)反饋結(jié)果。在計(jì)算機(jī)監(jiān)管系統(tǒng)當(dāng)中,其主要是針對(duì)對(duì)象進(jìn)行監(jiān)控,并且指揮其進(jìn)行一些簡單的函數(shù)揮著命令。所以相比于I/O連接的及時(shí)性,顯示消息連接無疑更適合用來進(jìn)行計(jì)算機(jī)監(jiān)控通信,能夠很大程度地滿足與PCL通信之間的信息傳輸。
基于控制及信息協(xié)議的計(jì)算機(jī)監(jiān)控軟件,其開發(fā)首先需要判斷CIP通信協(xié)議是否能在Ethernet中運(yùn)轉(zhuǎn)。CIP協(xié)議主要是在數(shù)據(jù)鏈路層中存在,其中TCP/IP協(xié)議必須在為了滿足CIP適配的需求上,對(duì)CIP協(xié)議中的消息采用封裝方式處理,對(duì)其進(jìn)行分割合并,以此進(jìn)行相關(guān)配置的契合使協(xié)議適用。在封裝過程中,其所使用的函數(shù)乃至封裝方式,都需要和CIP良好的適配,否則很難正常開發(fā)。
為了保證監(jiān)控系統(tǒng)能夠很好地對(duì)車間等工業(yè)設(shè)計(jì)領(lǐng)域提供幫助,在設(shè)計(jì)過程當(dāng)中需要對(duì)設(shè)計(jì)語言進(jìn)行選擇[3]。首選便是C#語言,作為計(jì)算機(jī)基礎(chǔ)語言其相對(duì)其他語言對(duì)于計(jì)算機(jī)的控制更加直接。同時(shí)可以在設(shè)計(jì)過程中,利用網(wǎng)絡(luò)資源選擇用來針對(duì)性進(jìn)行監(jiān)控的對(duì)象常見的便是Logx5000。其開發(fā)環(huán)境利用常見的Visual Studio2005,在設(shè)計(jì)開發(fā)的過程中應(yīng)當(dāng)針對(duì)軟件進(jìn)行架構(gòu)分析,保證其在運(yùn)行的過程中能夠穩(wěn)定以及方便后期的維護(hù)。最底層針對(duì)的內(nèi)容設(shè)計(jì)方向,需要以以太網(wǎng)為主。對(duì)CIP通信技術(shù)進(jìn)行設(shè)計(jì)開發(fā),以此成為監(jiān)控系統(tǒng)的基礎(chǔ)。底層CIP的設(shè)計(jì)不僅需要合適的開發(fā)環(huán)境,還需要結(jié)合TCP/IP進(jìn)行開發(fā)。利用開發(fā)環(huán)境和所針對(duì)的監(jiān)控環(huán)境,參照通信類中的顯示儀消息連接,對(duì)所屬的數(shù)據(jù)進(jìn)行封裝處理?,F(xiàn)今的通信方式已經(jīng)不再是單工傳輸方式,而是雙工傳輸方式,但是在監(jiān)控系統(tǒng)對(duì)搭建過程中,還是需要遵循周期性原則。在封裝過程中,發(fā)送消息和回應(yīng)消息指令中,以請(qǐng)求和回應(yīng)作為循環(huán)規(guī)律。同時(shí)在對(duì)監(jiān)管類的通信進(jìn)行設(shè)計(jì)開發(fā)時(shí),其所針對(duì)的內(nèi)容中,涵蓋CIP對(duì)象。這也就會(huì)導(dǎo)致監(jiān)控系統(tǒng)在運(yùn)行時(shí),會(huì)因?yàn)镃IP對(duì)象類別相同,致使錯(cuò)誤識(shí)別,引發(fā)運(yùn)行錯(cuò)誤等問題的出現(xiàn)。為了避免這類問題,需要進(jìn)行緩沖區(qū)的設(shè)計(jì),通過對(duì)命令行的標(biāo)志,避免這類情況的發(fā)生。在對(duì)監(jiān)控對(duì)象進(jìn)行監(jiān)控時(shí),對(duì)其PCL命令行的標(biāo)志進(jìn)行判斷,判斷其緩沖區(qū)域的標(biāo)識(shí)是否存在,再?zèng)Q定是否進(jìn)行下一步。在發(fā)現(xiàn)標(biāo)志為空的時(shí)候,會(huì)返回最開始的位置,而存在標(biāo)志則是進(jìn)行下一步的讀者操作,以此構(gòu)成循環(huán)。
但是這種常規(guī)的循環(huán)設(shè)計(jì)方式效率不高,在現(xiàn)今對(duì)自動(dòng)化要求愈發(fā)變高的工業(yè)環(huán)境下,很難滿足對(duì)計(jì)算機(jī)監(jiān)控的通信需求。而造成這種循環(huán)方式效率不高的主要原因,便是PCL存在隨機(jī)性。面對(duì)這種情況,可以在設(shè)計(jì)過程當(dāng)中,利用主動(dòng)機(jī)制對(duì)PCL進(jìn)行處理。其運(yùn)轉(zhuǎn)方式為,在對(duì)監(jiān)控的通信對(duì)象進(jìn)行監(jiān)控時(shí),監(jiān)測到需要的數(shù)據(jù),可以主動(dòng)地讓PCL報(bào)告反饋到監(jiān)控系統(tǒng)當(dāng)中?;诳刂萍靶畔f(xié)議的計(jì)算機(jī)通信監(jiān)控軟件的開發(fā),離不開對(duì)整個(gè)設(shè)計(jì)結(jié)構(gòu)的分析,以及通信對(duì)象的PCL報(bào)告反饋優(yōu)化設(shè)計(jì)。
基于控制及信息協(xié)議的監(jiān)控系統(tǒng)開發(fā),主要利用的是基于以太網(wǎng)結(jié)構(gòu)的PCL和計(jì)算機(jī)相結(jié)合,建立及時(shí)性強(qiáng)。并且PCL能夠利用存儲(chǔ)區(qū)進(jìn)行數(shù)據(jù)存儲(chǔ),主動(dòng)反饋對(duì)計(jì)算機(jī)的指令,同時(shí)能保證其自動(dòng)化進(jìn)行數(shù)據(jù)讀寫的監(jiān)控系統(tǒng)。利用CIP底層通信類設(shè)計(jì),保障應(yīng)用環(huán)境不會(huì)存在安全問題。其次通過分層結(jié)構(gòu)設(shè)計(jì),保證監(jiān)控系統(tǒng)的穩(wěn)定性,以此促進(jìn)車間工業(yè)設(shè)計(jì)自動(dòng)化的發(fā)展。