• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于LabWindows/CVI的軸承試驗(yàn)機(jī)數(shù)據(jù)采集系統(tǒng)

      2019-07-23 01:50:08王虎強(qiáng)李旭明吳強(qiáng)張振潮朱博文
      軸承 2019年5期
      關(guān)鍵詞:試驗(yàn)機(jī)字節(jié)上位

      王虎強(qiáng),李旭明,吳強(qiáng),張振潮,朱博文

      (1.洛陽軸承研究所有限公司,河南 洛陽 471039;2.洛陽鐵路信息工程學(xué)校,河南 洛陽 471900)

      隨著現(xiàn)代工業(yè)的不斷進(jìn)步,軸承的類型大幅增加,主機(jī)廠家對軸承在不同工況下的性能要求也在提高,因此,軸承試驗(yàn)的重要性越來越得到重視。

      軸承試驗(yàn)機(jī)中數(shù)據(jù)采集軟件的性能差異直接影響測試數(shù)據(jù)的準(zhǔn)確性?,F(xiàn)代數(shù)據(jù)測試技術(shù)大多通過在前端數(shù)據(jù)傳感器與計(jì)算機(jī)之間增加接口電路實(shí)現(xiàn),數(shù)據(jù)采樣頻率及精度由兩者共同決定?,F(xiàn)有的軸承試驗(yàn)機(jī)數(shù)據(jù)采集系統(tǒng)較多采用以下2種方式進(jìn)行數(shù)據(jù)通信:1)上位機(jī)與伺服控制系統(tǒng)串口通信,受傳輸距離限制,不便于系統(tǒng)的遠(yuǎn)程控制與拓展;2)通過控制系統(tǒng)廠家自帶的標(biāo)準(zhǔn)接口程序,但需要授權(quán)的軟件與硬件設(shè)備,費(fèi)用較高。

      針對上述問題,采用以下設(shè)計(jì)方案改進(jìn)軸承試驗(yàn)機(jī)的數(shù)據(jù)采集系統(tǒng):上位機(jī)基于LabWindows/CVI開發(fā)數(shù)據(jù)采集系統(tǒng),對試驗(yàn)數(shù)據(jù)進(jìn)行采集、存儲及分析;下位機(jī)采用S7-200 PLC 控制驅(qū)動系統(tǒng)并記錄軸承位置,同時(shí)讀取伺服驅(qū)動器數(shù)據(jù)并進(jìn)行存儲;上位機(jī)與下位機(jī)之間通過網(wǎng)口進(jìn)行通信,通信基于TCP/IP協(xié)議,采用LIBNODAVE開源驅(qū)動庫,無需在工控機(jī)部署任何第三方軟件,僅需要一根網(wǎng)線即可通信,開發(fā)、維護(hù)難度較低,且在通信速率與可擴(kuò)展性等方面有較大提升。

      1 LabWindows/CVI概述

      LabWindows/CVI 是以ANSIC為核心的開發(fā)平臺[1],其將前端儀器硬件的數(shù)據(jù)采集處理和測量控制與功能強(qiáng)大、兼容性好的C語言高效結(jié)合在一起,可提供強(qiáng)大的函數(shù)庫功能,兼容的開發(fā)環(huán)境,直觀的函數(shù)面板,為原有了解C語言的開發(fā)設(shè)計(jì)人員提供了一個(gè)很好的開發(fā)環(huán)境[2]。

      在LabWindows/CVI開發(fā)環(huán)境中,可以通過已有的庫函數(shù)實(shí)現(xiàn)軟件的開發(fā)編輯、鏈接、編譯。在設(shè)計(jì)測試軟件時(shí),可調(diào)用外部已編譯好的動態(tài)鏈接庫(DLL)、驅(qū)動程序、靜態(tài)庫等。因此,嘗試通過LabWindows/CVI平臺開發(fā)數(shù)據(jù)采集和儀器控制的應(yīng)用程序,充分利用其提供的函數(shù)庫完成數(shù)據(jù)的采集、分析和顯示。

      2 數(shù)據(jù)采集系統(tǒng)總體架構(gòu)

      軸承試驗(yàn)機(jī)數(shù)據(jù)采集系統(tǒng)的拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)如圖1所示。

      圖1 數(shù)據(jù)采集系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖Fig.1 Topology diagram of data acquisition system

      下位機(jī)系統(tǒng)采用的伺服電動機(jī)自帶速度反饋,可通過PLC實(shí)現(xiàn)調(diào)速和速度監(jiān)控,保證長時(shí)間的運(yùn)轉(zhuǎn)和控制精度,并可同時(shí)實(shí)現(xiàn)電動機(jī)電流的實(shí)時(shí)監(jiān)測,當(dāng)被試軸承摩擦力矩出現(xiàn)異常波動,會引起電流的變化,設(shè)備自動進(jìn)行報(bào)警或停止運(yùn)行。

      電氣部分主要包括驅(qū)動控制系統(tǒng)、摩擦力矩測量系統(tǒng)、振動測量系統(tǒng)和溫度測量系統(tǒng)。驅(qū)動控制系統(tǒng)由交流伺服電動機(jī)及其驅(qū)動器組成,實(shí)現(xiàn)被測軸承的驅(qū)動及其他控制功能。摩擦力矩、振動、溫度測量系統(tǒng)由相應(yīng)的傳感器、變送器及A/D轉(zhuǎn)換電路組成,實(shí)現(xiàn)試驗(yàn)機(jī)的實(shí)時(shí)數(shù)據(jù)采集功能。溫度、振動與扭矩等物理信號由PLC數(shù)據(jù)采集模塊實(shí)現(xiàn)采集,通過A/D轉(zhuǎn)換為PLC可讀的數(shù)字量并存儲到指定的存儲地址。PLC控制器通過讀取指定存儲位置的數(shù)據(jù),對伺服驅(qū)動器進(jìn)行調(diào)節(jié)控制。

      上位機(jī)系統(tǒng)的數(shù)據(jù)讀取與寫入基于TCP/IP協(xié)議與PLC進(jìn)行通信,直接調(diào)用相關(guān)的接口函數(shù)讀取或?qū)懭胫付ù鎯δK的數(shù)據(jù),即完成系統(tǒng)的數(shù)據(jù)采集與控制。

      3 LabWindows/CVI與PLC間的通信

      西門子生產(chǎn)的S7系列PLC具有體積小、速度快、標(biāo)準(zhǔn)化等優(yōu)點(diǎn),但與上位機(jī)的通信相對較弱[3-5]。常見的西門子上位機(jī)形式有:西門子 HMI、西門子 PRODAVE、第三方組態(tài)軟件和OPC Server;通信接口形式為 MPI,PROFIBUS 或工業(yè)以太網(wǎng)[6-7]。這些數(shù)據(jù)通信結(jié)構(gòu)方式都需要特定授權(quán)的軟件和硬件設(shè)備,整體成本較高。LIBNODAVE具有比PRODAVE 更強(qiáng)大的接口程序, 其具有的接口函數(shù)、支持的硬件以及連接方式都比 PRODAVE 多,且其具有免費(fèi)、配置簡單等優(yōu)點(diǎn)。

      3.1 LIBNODAVE庫函數(shù)導(dǎo)入

      試驗(yàn)機(jī)監(jiān)控系統(tǒng)中需導(dǎo)入libnodave.lib,libnodave.lib及nodavesimple.h文件,并在程序主文件中定義增加define BCCWIN 語句。nodavesimple.h文件為庫函數(shù)頭文件,主要包含所定義的通信接口函數(shù)等。

      3.2 常量定義

      1)char ip[200]=″10.0.0.24″;

      定義PLC地址。

      2)_daveOSserialType fds;

      定義結(jié)構(gòu)體。

      3)daveInterface * di;

      定義結(jié)構(gòu)體指針。

      4)daveConnection * dc.

      定義結(jié)構(gòu)體指針。

      3.3 庫函數(shù)連接PLC控制器

      1)fds.rfd= openSocket( 102,ip);

      fds.wfd=fds.rfd;

      打開指定IP地址的PLC控制器通信接口,并將返回的句柄存儲到結(jié)構(gòu)體_daveOSserialType 的變量中。

      2)di=daveNewInterface(fds,″IF1″,0,122,2);

      將結(jié)構(gòu)體指針傳遞給新生成的結(jié)構(gòu)體,PLC的硬件連接信息可通過daveNewConnection 傳遞,實(shí)現(xiàn)功能函數(shù)調(diào)用的不相關(guān)性。

      3)res=daveInitAdapter(di);

      對設(shè)備適配器進(jìn)行初始化。

      4)dc=daveNewConnection(di,2,0,1);

      res=daveConnectPLC(dc);

      與PLC進(jìn)行連接。

      3.4 釋放PLC控制器連接

      在程序調(diào)用結(jié)束后,需要將PLC控制器釋放,防止程序重新啟動后出現(xiàn)錯(cuò)誤。

      1)res=daveDisConnectPLC(dc);

      關(guān)閉PLC控制器連接。

      2)res=daveDisconnectAdapter(di);

      關(guān)閉PLC設(shè)備適配器。

      3)res=closeSocket(ph);

      關(guān)閉對應(yīng)的設(shè)備通信端口。

      3.5 PLC設(shè)備數(shù)據(jù)寫入與讀取

      3.5.1 數(shù)據(jù)寫入

      1)daveWriteBytes(daveConnection * dc,int area, int DB, int start, int len, void * buffer);

      該命令用于數(shù)據(jù)寫入,表示向PLC中寫入len字節(jié);Area表示數(shù)據(jù)是否要寫入FLAG,DATA BLOCKS,INPUTS或OUTPUTS等;DB表示所使用數(shù)據(jù)塊的位置;start為確定第1個(gè)字節(jié); buffer是指向要寫入數(shù)據(jù)的緩沖區(qū)。當(dāng)Area為其他區(qū)域類型時(shí)設(shè)置為0,在S7-200 SMART中會將整個(gè)V區(qū)默認(rèn)為數(shù)據(jù)塊DB1。

      2)daveWriteManyBytes(daveConnection * dc,int area, int DB, int start, int len, void * buffer);

      對于要寫入多個(gè)連續(xù)性的數(shù)據(jù),可以調(diào)用該函數(shù)進(jìn)行一次性處理。

      3)daveWriteBits(daveConnection * dc,int area, int DB, int start, int len, void * buffer);

      與daveWriteBytes函數(shù)功能類似,表示要向PLC寫入一位的數(shù)據(jù)。

      3.5.2 數(shù)據(jù)讀取

      1)daveReadBytes(daveConnection * dc, int area, int DB, int start, int len, void * buffer);

      該命令用于數(shù)據(jù)讀取,表示從PLC中讀取 len字節(jié);Area表示數(shù)據(jù)是否來自FLAG,DATA BLOCKS,INPUTS或OUTPUTS等;DB表示要使用的數(shù)據(jù)塊位置,其他區(qū)域類型設(shè)置為0;start表示要讀取第1個(gè)字節(jié)位置;緩沖區(qū)buffer指向調(diào)用程序提供的內(nèi)存塊指針,如果指針不為空,結(jié)果數(shù)據(jù)將被復(fù)制到其中。

      2)daveReadManyBytes(daveConnection * dc, int area, int DBnum, int start, int len, void * buffer);

      從PLC讀取len字節(jié)。start確定第1個(gè)字節(jié)。與daveReadBytes()不同的是,這個(gè)函數(shù)可以讀取對于單個(gè)事務(wù)來說太長的塊。要實(shí)現(xiàn)這一點(diǎn),需要將數(shù)據(jù)與多個(gè)后續(xù)的對CPU的讀請求一起獲取。

      3)daveReadBits(daveConnection * dc, int area, int DB, int start, int len, void * buffer);

      從PLC中讀取一位的數(shù)據(jù)。

      4 數(shù)據(jù)存儲

      數(shù)據(jù)庫用于存儲采集軟件所采集的試驗(yàn)數(shù)據(jù),以便用于后期的設(shè)計(jì)分析。利用結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言,可實(shí)現(xiàn)對數(shù)據(jù)庫的各種交互式操作,如對數(shù)據(jù)的查詢、導(dǎo)入、刪除等。在本項(xiàng)目中,采用的MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個(gè)分支,基于LabWindows的版權(quán)限制,數(shù)據(jù)庫操作采用MariaDB原有的數(shù)據(jù)庫接口函數(shù)。

      4.1 常量聲明

      1)MYSQL conn;

      定義數(shù)據(jù)庫連接。

      2)MYSQL_RES *res;

      定義數(shù)據(jù)結(jié)果集結(jié)構(gòu)體指針。

      3)MYSQL_ROW row;

      定義用于存儲數(shù)據(jù)行信息的結(jié)構(gòu)體常量。

      4.2 數(shù)據(jù)庫連接與釋放

      1)mysql_library_init(0, NULL, NULL);

      初始化MYSQL數(shù)據(jù)庫。

      2)mysql_init(&conn);

      初始化連接句柄。

      3)mysql_real_connect(&conn, ″127.0.0.1″, ″root″, ″123456″, ″data″, 0, NULL, 0);

      連接MYSQL數(shù)據(jù)庫服務(wù)器。

      4)mysql_close(&conn);

      關(guān)閉MYSQL服務(wù)器的連接。

      5)mysql_library_end();

      終止使用MYSQL庫。

      4.3 數(shù)據(jù)庫數(shù)據(jù)的寫入與讀取

      1)mysql_real_query(&conn,sql,strlen(sql));

      執(zhí)行查詢或者寫入語句。

      2) mysql_store_result(&conn);

      獲得整個(gè)查詢語句的查詢結(jié)果。

      3)mysql_num_rows(res);

      獲取查詢結(jié)果條數(shù)。

      4)mysql_num_fields(res);

      獲取查詢結(jié)果行數(shù)。

      5) mysql_fetch_row(res);

      獲取查詢結(jié)果每一行的具體數(shù)據(jù)。

      5 系統(tǒng)運(yùn)行情況

      安裝有基于LabWindows/CVI開發(fā)平臺所設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)的某型試驗(yàn)機(jī)已進(jìn)行了7 000 h的軸承壽命試驗(yàn),模擬了軸承工況,考核了軸承在壽命期內(nèi)的振動、摩擦力矩和溫升指標(biāo),并且一臺試驗(yàn)機(jī)可以精確試驗(yàn)和檢測多套軸承,操作簡單。軸承試驗(yàn)過程中,試驗(yàn)數(shù)據(jù)、報(bào)警信息、試驗(yàn)狀態(tài)等數(shù)據(jù)及時(shí)準(zhǔn)確的上傳到數(shù)據(jù)服務(wù)器中。數(shù)據(jù)采集系統(tǒng)上位機(jī)控制界面如圖2所示,軸承運(yùn)行狀態(tài)的相關(guān)數(shù)據(jù)如圖3所示。在軸承試驗(yàn)過程中,該系統(tǒng)可實(shí)時(shí)的將軸承的試驗(yàn)狀態(tài)、報(bào)警信息、試驗(yàn)機(jī)運(yùn)行狀態(tài)等數(shù)據(jù)準(zhǔn)確的采集到數(shù)據(jù)服務(wù)器中。查詢客戶端可調(diào)用數(shù)據(jù)服務(wù)器接口程序,通過局域網(wǎng)或互聯(lián)網(wǎng)實(shí)時(shí)查看相關(guān)數(shù)據(jù)。

      圖2 上位機(jī)的軟件界面Fig.2 Software interface of host computer

      圖3 軸承運(yùn)行數(shù)據(jù)截圖Fig.3 Screenshot of bearing operation data

      猜你喜歡
      試驗(yàn)機(jī)字節(jié)上位
      No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
      鐵路軸承試驗(yàn)機(jī)
      哈爾濱軸承(2020年2期)2020-11-06 09:22:28
      接觸疲勞試驗(yàn)機(jī)伺服電動缸加載系統(tǒng)設(shè)計(jì)
      哈爾濱軸承(2020年1期)2020-11-03 09:16:08
      No.10 “字節(jié)跳動手機(jī)”要來了?
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      簡談MC7字節(jié)碼
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      橡膠整體式履帶動態(tài)嚙合試驗(yàn)機(jī)的設(shè)計(jì)
      锦州市| 南丰县| 武威市| 丘北县| 淮阳县| 翼城县| 柳江县| 安宁市| 高雄市| 靖宇县| 天峨县| 镇远县| 皮山县| 赤峰市| 金湖县| 松滋市| 尉氏县| 克什克腾旗| 通州区| 宜城市| 抚州市| 会宁县| 高尔夫| 伊金霍洛旗| 泰和县| 铅山县| 成武县| 通州区| 巩义市| 沾益县| 平乐县| 辽阳县| 阜南县| 大洼县| 万安县| 延寿县| 遵化市| 双流县| 抚远县| 镇安县| 兰考县|