本發(fā)明涉及智能制造控制層系統(tǒng),即BC系統(tǒng)的底層驅(qū)動(dòng)框架,為制造業(yè)軟件輕量級(jí)框架,屬于信息處理技術(shù)領(lǐng)域。
背景技術(shù):
智能制造信息系統(tǒng)(Computer Integrated Manufacturing System,簡稱CIMS系統(tǒng))是通過計(jì)算機(jī)硬軟件,并綜合運(yùn)用現(xiàn)代管理技術(shù),制造技術(shù),信息技術(shù),自動(dòng)化技術(shù),系統(tǒng)工程技術(shù),將企業(yè)生產(chǎn)全部過程中有關(guān)的人,技術(shù),經(jīng)營管理三要素及其信息與物流有機(jī)集成并優(yōu)化運(yùn)行的復(fù)雜的大系統(tǒng)。而CIMS中的設(shè)備監(jiān)控系統(tǒng)(Block Control System,簡稱BC系統(tǒng))則負(fù)責(zé)管理運(yùn)營生產(chǎn)線系統(tǒng)的物流系統(tǒng),監(jiān)控設(shè)備集群狀態(tài),具有較高的實(shí)時(shí)性。BC系統(tǒng)是CIMS大系統(tǒng)框架下設(shè)備層系統(tǒng)與MES系統(tǒng)層中間的橋梁,起到數(shù)據(jù)上傳與下傳的作用。BC系統(tǒng)還具有數(shù)據(jù)儲(chǔ)存,處理的功能,能對(duì)智能制造系統(tǒng)中比較復(fù)雜的設(shè)備比如機(jī)器人進(jìn)行復(fù)雜的控制操作。而BC系統(tǒng)Driver則作為BC系統(tǒng)的底層驅(qū)動(dòng)框架,在BC系統(tǒng)開發(fā)中具有決定性作用。
目前國外特別是德國,美國等發(fā)達(dá)國家,使用BC系統(tǒng)非常廣泛,技術(shù)水平也較高,擁有巨大優(yōu)勢,國內(nèi)的BC系統(tǒng)現(xiàn)在還處于初步發(fā)展階段,針對(duì)特定的業(yè)務(wù)邏輯往往開發(fā)時(shí)間較長,而且并不穩(wěn)定,可維護(hù)性也較差,可移植性也不強(qiáng),這主要還是因?yàn)闆]有一款高通用性BC Driver所致。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:為了克服現(xiàn)有BC技術(shù)通用性不高,不穩(wěn)定,可維護(hù)性差,可移植性不強(qiáng)等問題,本發(fā)明提供一種具有高通用性的可配置性智能制造BC Driver框架。
技術(shù)方案:為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
智能制造BC系統(tǒng)通用驅(qū)動(dòng)框架,包括:配置單元、初始化單元、事件接口單元、事件觸發(fā)單元和事件處理單元;所述配置單元提供通用的配置結(jié)構(gòu),用于實(shí)現(xiàn)不同的智能工廠自動(dòng)生產(chǎn)線對(duì)應(yīng)的信息配置;所述初始化單元,用于解析配置單元的配置文件,實(shí)例化PLC類型并連接PLC設(shè)備;所述事件接口單元,為事件處理客制化程序提供實(shí)現(xiàn)接口;所述事件觸發(fā)單元,用于根據(jù)所配置的信號(hào)PLC地址進(jìn)行輪詢,根據(jù)信號(hào)狀態(tài)的變化情況異步觸發(fā)相應(yīng)的事件;所述事件處理單元,用于進(jìn)行具體的信息處理。
作為優(yōu)選,該驅(qū)動(dòng)框架還包括超時(shí)管理單元,用于事件觸發(fā)單元異步觸發(fā)事件時(shí)進(jìn)行計(jì)時(shí),若超時(shí)則報(bào)警并將事件狀態(tài)歸零。
在具體的實(shí)施方案中,所述配置單元配置的信息包括Master PLC通信配置和PLC信息地址配置;所述通信配置包括主從站網(wǎng)絡(luò)標(biāo)識(shí)、主從站點(diǎn)標(biāo)識(shí)、從站IP、輪詢時(shí)間間隔、超時(shí)時(shí)間和PLC類型;所述PLC信息地址配置包括BC系統(tǒng)監(jiān)控的各個(gè)設(shè)備的基本信息,以及每個(gè)設(shè)備上監(jiān)控的模塊信息與地址的配置,所述監(jiān)控的模塊包括數(shù)據(jù)、事件和命令。
所述設(shè)備的基本信息包括設(shè)備名稱和映射地址;每個(gè)設(shè)備上模塊信息與地址的配置內(nèi)容包括模塊名稱、地址偏移、模塊類型以及模塊字段的名稱、地址、長度和值類型;所述模塊類型包括事件、事件回復(fù)、命令、命令回復(fù)、讀數(shù)據(jù)和寫數(shù)據(jù)。
作為優(yōu)選,該驅(qū)動(dòng)框架還包括日志管理單元,用于進(jìn)行日志記錄;所述配置單元包括日志配置。
作為優(yōu)選,所述配置單元采用一個(gè)或多個(gè)XML文件格式進(jìn)行配置。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提供的智能制造BC系統(tǒng)通用驅(qū)動(dòng)框架,可以針對(duì)不同行業(yè)的BC來進(jìn)行配置,也可以針對(duì)不同種類的PLC,生產(chǎn)線架構(gòu)來進(jìn)行配置,具有高通用性,可維護(hù),靈活度高,與具體業(yè)務(wù)無關(guān)等優(yōu)勢。應(yīng)用該Driver后,BC系統(tǒng)軟件工程師不再需要處理信息讀寫的問題,將精力集中在具體業(yè)務(wù)邏輯的代碼編寫上,這樣大大縮短了軟件開發(fā)周期。另外,該Driver將地址信息以XML配置的形式來展示,在實(shí)際的調(diào)試過程中,只需要去修改配置即可,不需要去實(shí)地修改代碼,這也在一定程度上減少了調(diào)試時(shí)間。該Driver為輕量級(jí)的框架,API簡單易懂,非常容易上手。
附圖說明
圖1為BC系統(tǒng)的硬件框架示意圖。
圖2為BC系統(tǒng)的軟件框架結(jié)構(gòu)示意圖。
圖3為BC系統(tǒng)調(diào)用BC Driver的流程圖。
圖4為本發(fā)明實(shí)施例Driver配置單元的結(jié)構(gòu)示意圖。
圖5為本發(fā)明實(shí)施例Driver配置單元的PLC信息地址配置示例圖。
圖6為本發(fā)明實(shí)施例Driver工作流程圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
圖1為BC系統(tǒng)的硬件框架示意圖,BC系統(tǒng)的硬件架構(gòu)條件為設(shè)備集群PLC與BC系統(tǒng)的Master PLC環(huán)路相連,設(shè)備將信息寫入各自的PLC后,將其信息映射到Master PLC的分區(qū)地址中。圖2為BC系統(tǒng)的軟件框架結(jié)構(gòu)示意圖,其中,實(shí)體層模塊用于智能工廠的建模;事件處理模塊用于處理具體事件業(yè)務(wù);MES通訊模塊用于將信息上傳至MES;界面模塊用于設(shè)計(jì)與處理界面邏輯;數(shù)據(jù)庫處理模塊用于操作數(shù)據(jù)庫;主服務(wù)模塊用于各個(gè)子模塊的調(diào)用和Driver初始化等。圖3為BC系統(tǒng)調(diào)用Driver的流程圖,初始化Driver后,連接PLC,對(duì)PLC信息進(jìn)行輪詢,若有事件發(fā)生則進(jìn)行事件處理。
本發(fā)明實(shí)施例參照Struts,Spring,Hibernate等著名框架,自行設(shè)計(jì)配置方案,以具體項(xiàng)目為測試依據(jù),輔以BC模擬器測試,對(duì)該框架做了長久的測試論證,再應(yīng)用于具體項(xiàng)目中,得到了最終穩(wěn)定的智能制造BC系統(tǒng)通用Driver框架。
本發(fā)明實(shí)施例公開的智能制造BC系統(tǒng)通用驅(qū)動(dòng)框架,主要包括:配置單元、初始化單元、事件接口單元、事件觸發(fā)單元、事件處理單元、超時(shí)管理單元、日志管理單元。其中,配置單元提供通用的配置結(jié)構(gòu),用于實(shí)現(xiàn)不同的智能工廠自動(dòng)生產(chǎn)線對(duì)應(yīng)的信息配置。初始化單元,用于解析配置單元的配置文件,實(shí)例化PLC類型并連接PLC設(shè)備。事件接口單元,為事件處理客制化程序提供實(shí)現(xiàn)接口。事件觸發(fā)單元,用于根據(jù)所配置的信號(hào)PLC地址進(jìn)行輪詢,根據(jù)信號(hào)狀態(tài)的變化情況異步觸發(fā)相應(yīng)的事件。事件處理單元,用于進(jìn)行具體的信息處理,針對(duì)觸發(fā)的信號(hào),不同的類型做不同的信息處理,并用對(duì)應(yīng)的事件接口來進(jìn)行具體的信息處理。超時(shí)管理單元,用于事件觸發(fā)單元異步觸發(fā)事件時(shí)進(jìn)行計(jì)時(shí),若超時(shí)則報(bào)警并將事件狀態(tài)歸零。日志管理單元,用于進(jìn)行日志記錄。
本實(shí)施例的通用驅(qū)動(dòng)框架,即Driver,具有如下功能:
1.提供通用化的配置結(jié)構(gòu),可以針對(duì)不同的智能工廠自動(dòng)生產(chǎn)線業(yè)務(wù)需求來修改配置。
2.對(duì)Master-PLC進(jìn)行實(shí)時(shí)輪詢,若發(fā)現(xiàn)設(shè)備有信號(hào),對(duì)其及時(shí)響應(yīng),并對(duì)其信息進(jìn)行處理,發(fā)送給MES;并且可以對(duì)大量同時(shí)發(fā)生的信號(hào)進(jìn)行并行異步處理,各個(gè)信號(hào)間相互獨(dú)立,互不影響。該響應(yīng)時(shí)間應(yīng)短于1秒。
3.當(dāng)設(shè)備沒有及時(shí)回復(fù)信號(hào)時(shí),具有超時(shí)機(jī)制,發(fā)出相應(yīng)的警告。
4.可對(duì)所有的信息進(jìn)行日志記錄,供維護(hù)人員在出現(xiàn)問題時(shí)追蹤溯源。
5.通過配置可以與不同類型的PLC通信。
6.可提供簡單的事件響應(yīng)模板,該模板與具體業(yè)務(wù)邏輯無關(guān)。
圖4為本發(fā)明實(shí)施例配置單元的主要配置結(jié)構(gòu),包括Master PLC通信配置、PLC信息地址配置和日志配置;其中,通信配置包括主從站網(wǎng)絡(luò)標(biāo)識(shí)(主站是BC系統(tǒng)服務(wù)器,從站是Master PLC)、主從站點(diǎn)標(biāo)識(shí)、從站IP、輪詢時(shí)間間隔、超時(shí)時(shí)間和PLC類型;PLC信息地址配置包括BC系統(tǒng)監(jiān)控的各個(gè)設(shè)備的基本信息,以及每個(gè)設(shè)備上監(jiān)控的模塊信息與地址的配置,監(jiān)控的模塊包括數(shù)據(jù)、事件和命令。設(shè)備的基本信息包括設(shè)備名稱和映射地址;每個(gè)設(shè)備上模塊信息與地址的配置內(nèi)容包括模塊名稱、地址偏移、模塊類型以及模塊字段的名稱、地址、長度和值類型;模塊類型包括事件、事件回復(fù)、命令、命令回復(fù)、讀數(shù)據(jù)和寫數(shù)據(jù)。圖5為以XML文件的形式配置的PLC信息地址的示例。
BC系統(tǒng)軟件工程師在基于本實(shí)施例的驅(qū)動(dòng)框架進(jìn)行具體項(xiàng)目開發(fā)時(shí),將Driver的dll文件導(dǎo)入具體的項(xiàng)目中后,在配置文件夾中進(jìn)行系統(tǒng)信息的配置,配置完后則需要在事件處理文件夾中對(duì)信息配置中具體的事件和命令來進(jìn)行客制化的程序代碼編寫,具體的參數(shù)包括:數(shù)據(jù)源信息,模塊信息,數(shù)據(jù)區(qū)數(shù)據(jù)信息。這種將各個(gè)事件相互獨(dú)立的方式,極大地簡化了編程人員的工作量,不需要考慮輪詢的方式,數(shù)據(jù)的讀取等細(xì)節(jié)問題,而將精力放在具體業(yè)務(wù)邏輯上。
圖6示出了本實(shí)施例Driver的工作機(jī)制,Driver應(yīng)用工廠模式對(duì)具體PLC類型進(jìn)行實(shí)例化并連接PLC,按照PCL信息地址配置中的具體信號(hào)PLC地址進(jìn)行輪詢,若發(fā)現(xiàn)信號(hào)出現(xiàn)變化,則訪問其對(duì)應(yīng)的數(shù)據(jù)區(qū),應(yīng)用工業(yè)PLC四次握手的方式進(jìn)行信息交互后,采用觀察者設(shè)計(jì)模式,多線程互斥鎖技術(shù),反射技術(shù),異步地對(duì)具體事件進(jìn)行處理。