本發(fā)明屬于一種工業(yè)使用的現(xiàn)場數(shù)據(jù)采集監(jiān)控系統(tǒng),具體涉及一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)及采集監(jiān)控方法。
背景技術(shù):
工業(yè)現(xiàn)場數(shù)據(jù)采集監(jiān)控一般采用成熟的工控組態(tài)軟件,例如wincc(視窗控制中心)與plc相結(jié)合的方式,這種架構(gòu)使用內(nèi)部通訊協(xié)議進(jìn)行通信,成本較高(購買軟件授權(quán)),且有一定的局限性,例如應(yīng)用廣泛的can通訊協(xié)議并不能和購置的工控軟件直接進(jìn)行數(shù)據(jù)通信,常用的解決辦法是采用opc(oleforprocesscontrol)方式,二者數(shù)據(jù)格式不同,需要在數(shù)據(jù)采集端與工控組態(tài)軟件之間搭建一座數(shù)據(jù)的橋梁。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是為了克服現(xiàn)有技術(shù)中存在的缺點(diǎn)而提出的。其目的是提供一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)及采集監(jiān)控方法。
本發(fā)明的技術(shù)方案是:
一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng),包括上位機(jī),與上位機(jī)通過網(wǎng)線連接的數(shù)據(jù)轉(zhuǎn)換設(shè)備,數(shù)據(jù)轉(zhuǎn)換設(shè)備通過can通信線與多臺(tái)檢測裝置相連,檢測裝置與對應(yīng)待測設(shè)備連接。
所述上位機(jī)為工業(yè)計(jì)算機(jī)或工業(yè)控制機(jī)。
所述數(shù)據(jù)轉(zhuǎn)換設(shè)備采用canet-2e-u實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,實(shí)現(xiàn)can2.0b格式數(shù)據(jù)與tcp格式數(shù)據(jù)間的轉(zhuǎn)化。
所述檢測裝置采用can2.0b通訊格式的測量裝置,能夠設(shè)置在can通訊網(wǎng)絡(luò)中的地址,實(shí)現(xiàn)對待測設(shè)備的參數(shù)檢測,將數(shù)據(jù)按can2.0b格式進(jìn)行打包發(fā)送,同時(shí)接收并解析can2.0b格式的指令數(shù)據(jù)。
一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)的數(shù)據(jù)采集監(jiān)控方法,包括以下步驟:
(ⅰ)上位機(jī)接收幀的數(shù)據(jù)處理
(?。╅_始;
(ⅱ)接收到tcp包;
(ⅲ)將一個(gè)tcp包里的50個(gè)can幀進(jìn)行分幀;
(ⅳ)判斷是否已將50幀數(shù)據(jù)處理完畢,是的話進(jìn)入步驟(ⅷ),否的話進(jìn)入步驟(ⅴ);
(ⅴ)開始對1幀數(shù)據(jù)進(jìn)行解析;
(ⅵ)按照can幀里包含的id號,判斷是否為所需數(shù)據(jù),若判斷不是所需數(shù)據(jù)則返回步驟(ⅳ),重新分析下一幀can幀;若判斷為所需數(shù)據(jù),則開始進(jìn)行數(shù)據(jù)處理進(jìn)入步驟(ⅶ);
(ⅶ)根據(jù)待測設(shè)備所需測量的參數(shù),將獲取的數(shù)據(jù)按照各參數(shù)進(jìn)行存儲(chǔ),保存在相應(yīng)變量中,處理完該幀數(shù)據(jù)后返回步驟(ⅳ);
(ⅷ)接收幀的數(shù)據(jù)處理結(jié)束;
(ⅱ)上位機(jī)接收幀的數(shù)據(jù)轉(zhuǎn)換
(ⅸ)開始;
(ⅹ)獲取處理過的數(shù)據(jù)變量;
(xi)判斷數(shù)據(jù)是否為測量設(shè)備參數(shù)a所需要的數(shù)據(jù),若符合則需要將該數(shù)據(jù)存儲(chǔ)至符合opc數(shù)據(jù)格式的參數(shù)a變量中,通過該變量傳遞給以生成參數(shù)a的opc項(xiàng),傳遞成功后進(jìn)入步驟(xii);若不符合,繼續(xù)判斷是否符合測量設(shè)備參數(shù)b所需要的數(shù)據(jù),依次判斷下去,如果該數(shù)據(jù)不屬于任何參數(shù)時(shí)進(jìn)入步驟(xii);
(xii)接收幀的數(shù)據(jù)轉(zhuǎn)換結(jié)束;
(ⅲ)對檢測裝置進(jìn)行調(diào)試
(xiii)開始;
(xiv)注冊opc;
(xv)查詢檢測裝置基本信息,獲取檢測裝置的id及其配置信息,以便進(jìn)行通訊;
(xvi)根據(jù)查詢到的檢測裝置信息進(jìn)行軟件測試設(shè)置;
(xvii)按照所需要求進(jìn)行通信功能測試,包括功能需求測試、誤碼率、丟幀率、裝置運(yùn)行穩(wěn)定性和測量數(shù)據(jù)的準(zhǔn)確性測試;
(xviii)檢測裝置調(diào)試結(jié)束;
(ⅳ)檢測裝置運(yùn)行
(xix)開始;
(xx)注冊opc;
(xxi)設(shè)置需通信的檢測裝置的id號;
(xxii)設(shè)置需與檢測裝置進(jìn)行查詢數(shù)據(jù)的命令;
(xxiii)設(shè)置查詢數(shù)據(jù)的時(shí)間間隔;
(xxiv)運(yùn)行軟件,軟件按設(shè)定時(shí)間間隔對檢測裝置發(fā)送查詢指令,并接收相應(yīng)裝置返回的數(shù)據(jù),軟件再對數(shù)據(jù)進(jìn)行處理;
(xxv)運(yùn)行結(jié)束。
本發(fā)明的有益效果是:
本發(fā)明提供了一種適于工業(yè)使用的現(xiàn)場數(shù)據(jù)采集監(jiān)控系統(tǒng),實(shí)現(xiàn)采集監(jiān)控軟件與檢測裝置間指令與數(shù)據(jù)的傳輸,利用檢測裝置獲取需監(jiān)測的設(shè)備參數(shù)并通過opc方式將數(shù)據(jù)(即檢測結(jié)果)同其它客戶端間進(jìn)行數(shù)據(jù)的分享。
本發(fā)明的檢測裝置層面采用can通訊網(wǎng)絡(luò),可方便實(shí)現(xiàn)檢測裝置數(shù)量的擴(kuò)展或裁減,具有很強(qiáng)的通用性;檢測裝置與上位機(jī)軟件間采用can2.0b數(shù)據(jù)格式和tcp數(shù)據(jù)格式,既能夠保證可擴(kuò)展性又能夠保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性;上位軟件將數(shù)據(jù)轉(zhuǎn)換成opc標(biāo)準(zhǔn)數(shù)據(jù)格式上傳至opc服務(wù)器,便于與其它客戶端進(jìn)行數(shù)據(jù)分享;軟件運(yùn)行分為兩種模式,既能夠?qū)崿F(xiàn)對檢測裝置長期運(yùn)行的數(shù)據(jù)采集和監(jiān)控,又能夠?qū)崿F(xiàn)對檢測裝置的檢驗(yàn)測試及在線故障判斷、更換。
附圖說明
圖1是本發(fā)明的硬件連接示意圖;
圖2是本發(fā)明接收幀的數(shù)據(jù)處理流程圖;
圖3是本發(fā)明接收幀的數(shù)據(jù)轉(zhuǎn)換流程圖;
圖4是本發(fā)明調(diào)試模式流程圖;
圖5是本發(fā)明運(yùn)行模式流程圖。
其中:
1上位機(jī)2數(shù)據(jù)轉(zhuǎn)換設(shè)備,
3檢測裝置4待測設(shè)備。
具體實(shí)施方式
下面結(jié)合說明書附圖及實(shí)施例對本發(fā)明基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)及數(shù)據(jù)采集監(jiān)控方法進(jìn)行詳細(xì)說明:
如圖1所示,一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng),包括上位機(jī)1,與上位機(jī)1通過網(wǎng)線連接的數(shù)據(jù)轉(zhuǎn)換設(shè)備2,數(shù)據(jù)轉(zhuǎn)換設(shè)備2通過can通信線與多臺(tái)檢測裝置3相連,檢測裝置3與對應(yīng)待測設(shè)備4連接。
所述上位機(jī)1為工業(yè)計(jì)算機(jī)或工業(yè)控制機(jī)。
所述數(shù)據(jù)轉(zhuǎn)換設(shè)備2采用canet-2e-u實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,實(shí)現(xiàn)can2.0b格式數(shù)據(jù)與tcp格式數(shù)據(jù)間的轉(zhuǎn)化。
所述檢測裝置3采用can2.0b通訊格式的測量裝置,能夠設(shè)置在can通訊網(wǎng)絡(luò)中的地址,實(shí)現(xiàn)對待測設(shè)備的參數(shù)檢測,將數(shù)據(jù)按can2.0b格式進(jìn)行打包發(fā)送,同時(shí)接收并解析can2.0b格式的指令數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)采集流程:
檢測裝置3用來測量待測設(shè)備4的相關(guān)參數(shù),獲取到的數(shù)據(jù)以can通信協(xié)議的方式同數(shù)據(jù)轉(zhuǎn)換設(shè)備2進(jìn)行通信,數(shù)據(jù)轉(zhuǎn)換設(shè)備2將獲取到的can幀打包為tcp數(shù)據(jù)包,通過ethernet以tcp數(shù)據(jù)包模式上傳至上位機(jī)1,上位機(jī)1將收到的tcp數(shù)據(jù)包轉(zhuǎn)換成符合opc標(biāo)準(zhǔn)的封轉(zhuǎn)數(shù)據(jù)格式并上傳至opc服務(wù)器,以供其他客戶端進(jìn)行數(shù)據(jù)分享。
一種基于can總線和opc技術(shù)的數(shù)據(jù)采集監(jiān)控系統(tǒng)的數(shù)據(jù)采集監(jiān)控方法,包括以下步驟:
(?。┥衔粰C(jī)軟件接收幀的數(shù)據(jù)處理,流程如圖2所示:
(?。╅_始(s1);
(ⅱ)接收到tcp包(s2);
(ⅲ)將一個(gè)tcp包里的50個(gè)can幀進(jìn)行分幀(s3);
(ⅳ)判斷是否已將50幀數(shù)據(jù)處理完畢,是的話進(jìn)入步驟(ⅷ),否的話進(jìn)入步驟(ⅴ)(s4);
(ⅴ)開始對1幀數(shù)據(jù)進(jìn)行解析(s5);
(ⅵ)按照can幀里包含的id號,判斷是否為所需數(shù)據(jù),若判斷不是所需數(shù)據(jù)則返回步驟(ⅳ),重新分析下一幀can幀;若判斷為所需數(shù)據(jù),則開始進(jìn)行數(shù)據(jù)處理進(jìn)入步驟(ⅶ)(s6);
(ⅶ)根據(jù)待測設(shè)備所需測量的參數(shù),將獲取的數(shù)據(jù)按照各參數(shù)進(jìn)行存儲(chǔ),保存在相應(yīng)變量中,處理完該幀數(shù)據(jù)后返回步驟(ⅳ)(s7);
(ⅷ)接收幀的數(shù)據(jù)處理結(jié)束(s8);
由步驟(?。┨幚泶鎯?chǔ)后的數(shù)據(jù)格式不符合標(biāo)準(zhǔn)opc封裝的數(shù)據(jù)格式,因此需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
(ⅱ)上位機(jī)接收幀的數(shù)據(jù)轉(zhuǎn)換,流程如圖3所示:
(ⅸ)開始(s9);
(ⅹ)獲取處理過的數(shù)據(jù)變量(s10);
(xi)判斷數(shù)據(jù)是否為測量設(shè)備參數(shù)a所需要的數(shù)據(jù),若符合則需要將該數(shù)據(jù)存儲(chǔ)至符合opc數(shù)據(jù)格式的參數(shù)a變量中,通過該變量傳遞給以生成參數(shù)a的opc項(xiàng),傳遞成功后進(jìn)入步驟(xii);若不符合,繼續(xù)判斷是否符合測量設(shè)備參數(shù)b所需要的數(shù)據(jù),依次判斷下去,如果該數(shù)據(jù)不屬于任何參數(shù)時(shí)進(jìn)入步驟(xii)(s11);
(xii)接收幀的數(shù)據(jù)轉(zhuǎn)換結(jié)束(s12);
檢測裝置運(yùn)行前。需要按照如圖4所示的流程對軟件進(jìn)行調(diào)試,即軟件調(diào)試模式;在該模式下可對檢測裝置進(jìn)行線下通訊檢驗(yàn)和考核、在線的故障判斷及更換,具體步驟如下:
(ⅲ)對檢測裝置進(jìn)行調(diào)試,流程如圖4所示:
(xiii)開始(s13);
(xiv)注冊opc(s14);
(xv)查詢檢測裝置基本信息,獲取檢測裝置的id及其配置信息,以便進(jìn)行通訊(s15);
(xvi)根據(jù)查詢到的檢測裝置信息進(jìn)行軟件測試設(shè)置(s16);
(xvii)按照所需要求進(jìn)行通信功能測試,包括功能需求測試、誤碼率、丟幀率、裝置運(yùn)行穩(wěn)定性和測量數(shù)據(jù)的準(zhǔn)確性測試(s17);
(xviii)檢測裝置調(diào)試結(jié)束(s18);
如圖5所示為軟件運(yùn)行模式的流程圖,在該模式下可長時(shí)間與檢測裝置進(jìn)行數(shù)據(jù)通訊,并將數(shù)據(jù)分享給其他客戶端,具體步驟如下:
(ⅳ)檢測裝置運(yùn)行,流程如圖5所示:
(xix)開始(s19);
(xx)注冊opc(s20);
(xxi)設(shè)置需通信的檢測裝置的id號(s21);
(xxii)設(shè)置需與檢測裝置進(jìn)行查詢數(shù)據(jù)的命令(s22);
(xxiii)設(shè)置查詢數(shù)據(jù)的時(shí)間間隔(s23);
(xxiv)運(yùn)行軟件,軟件按設(shè)定時(shí)間間隔對檢測裝置發(fā)送查詢指令,并接收相應(yīng)裝置返回的數(shù)據(jù),軟件再對數(shù)據(jù)進(jìn)行處理(s24);
(xxv)運(yùn)行結(jié)束(s25)。
本發(fā)明提供了一種適于工業(yè)使用的現(xiàn)場數(shù)據(jù)采集監(jiān)控系統(tǒng),實(shí)現(xiàn)采集監(jiān)控軟件與檢測裝置間指令與數(shù)據(jù)的傳輸,利用檢測裝置獲取需監(jiān)測的設(shè)備參數(shù)并通過opc方式將數(shù)據(jù)(即檢測結(jié)果)同其它客戶端間進(jìn)行數(shù)據(jù)的分享。
本發(fā)明的檢測裝置層面采用can通訊網(wǎng)絡(luò),可方便實(shí)現(xiàn)檢測裝置數(shù)量的擴(kuò)展或裁減,具有很強(qiáng)的通用性;檢測裝置具體結(jié)構(gòu)詳見專利號為201720314540.6專利;檢測裝置與上位機(jī)軟件間采用can2.0b數(shù)據(jù)格式和tcp數(shù)據(jù)格式,既能夠保證可擴(kuò)展性又能夠保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性;上位軟件將數(shù)據(jù)轉(zhuǎn)換成opc標(biāo)準(zhǔn)數(shù)據(jù)格式上傳至opc服務(wù)器,便于與其它客戶端進(jìn)行數(shù)據(jù)分享;軟件運(yùn)行分為兩種模式,既能夠?qū)崿F(xiàn)對檢測裝置長期運(yùn)行的數(shù)據(jù)采集和監(jiān)控,又能夠?qū)崿F(xiàn)對檢測裝置的檢驗(yàn)測試及在線故障判斷、更換。