国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于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.洛陽(yáng)軸承研究所有限公司,河南 洛陽(yáng) 471039;2.洛陽(yáng)鐵路信息工程學(xué)校,河南 洛陽(yáng) 471900)

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

軸承試驗(yàn)機(jī)中數(shù)據(jù)采集軟件的性能差異直接影響測(cè)試數(shù)據(jù)的準(zhǔn)確性?,F(xiàn)代數(shù)據(jù)測(cè)試技術(shù)大多通過(guò)在前端數(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)通過(guò)控制系統(tǒng)廠家自帶的標(biāo)準(zhǔn)接口程序,但需要授權(quán)的軟件與硬件設(shè)備,費(fèi)用較高。

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

1 LabWindows/CVI概述

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

在LabWindows/CVI開(kāi)發(fā)環(huán)境中,可以通過(guò)已有的庫(kù)函數(shù)實(shí)現(xiàn)軟件的開(kāi)發(fā)編輯、鏈接、編譯。在設(shè)計(jì)測(cè)試軟件時(shí),可調(diào)用外部已編譯好的動(dòng)態(tài)鏈接庫(kù)(DLL)、驅(qū)動(dòng)程序、靜態(tài)庫(kù)等。因此,嘗試通過(guò)LabWindows/CVI平臺(tái)開(kāi)發(fā)數(shù)據(jù)采集和儀器控制的應(yīng)用程序,充分利用其提供的函數(shù)庫(kù)完成數(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)采用的伺服電動(dòng)機(jī)自帶速度反饋,可通過(guò)PLC實(shí)現(xiàn)調(diào)速和速度監(jiān)控,保證長(zhǎng)時(shí)間的運(yùn)轉(zhuǎn)和控制精度,并可同時(shí)實(shí)現(xiàn)電動(dòng)機(jī)電流的實(shí)時(shí)監(jiān)測(cè),當(dāng)被試軸承摩擦力矩出現(xiàn)異常波動(dòng),會(huì)引起電流的變化,設(shè)備自動(dòng)進(jìn)行報(bào)警或停止運(yùn)行。

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

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

3 LabWindows/CVI與PLC間的通信

西門(mén)子生產(chǎn)的S7系列PLC具有體積小、速度快、標(biāo)準(zhǔn)化等優(yōu)點(diǎn),但與上位機(jī)的通信相對(duì)較弱[3-5]。常見(jiàn)的西門(mén)子上位機(jī)形式有:西門(mén)子 HMI、西門(mén)子 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)、配置簡(jiǎn)單等優(yōu)點(diǎn)。

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

試驗(yàn)機(jī)監(jiān)控系統(tǒng)中需導(dǎo)入libnodave.lib,libnodave.lib及nodavesimple.h文件,并在程序主文件中定義增加define BCCWIN 語(yǔ)句。nodavesimple.h文件為庫(kù)函數(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 庫(kù)函數(shù)連接PLC控制器

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

fds.wfd=fds.rfd;

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

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

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

3)res=daveInitAdapter(di);

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

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

res=daveConnectPLC(dc);

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

3.4 釋放PLC控制器連接

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

1)res=daveDisConnectPLC(dc);

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

2)res=daveDisconnectAdapter(di);

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

3)res=closeSocket(ph);

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

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

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

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

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

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

對(duì)于要寫(xiě)入多個(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ù)功能類(lèi)似,表示要向PLC寫(xiě)入一位的數(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ù)是否來(lái)自FLAG,DATA BLOCKS,INPUTS或OUTPUTS等;DB表示要使用的數(shù)據(jù)塊位置,其他區(qū)域類(lèi)型設(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ù)可以讀取對(duì)于單個(gè)事務(wù)來(lái)說(shuō)太長(zhǎng)的塊。要實(shí)現(xiàn)這一點(diǎn),需要將數(shù)據(jù)與多個(gè)后續(xù)的對(duì)CPU的讀請(qǐng)求一起獲取。

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

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

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

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

4.1 常量聲明

1)MYSQL conn;

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

2)MYSQL_RES *res;

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

3)MYSQL_ROW row;

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

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

1)mysql_library_init(0, NULL, NULL);

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

2)mysql_init(&conn);

初始化連接句柄。

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

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

4)mysql_close(&conn);

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

5)mysql_library_end();

終止使用MYSQL庫(kù)。

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

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

執(zhí)行查詢(xún)或者寫(xiě)入語(yǔ)句。

2) mysql_store_result(&conn);

獲得整個(gè)查詢(xún)語(yǔ)句的查詢(xún)結(jié)果。

3)mysql_num_rows(res);

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

4)mysql_num_fields(res);

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

5) mysql_fetch_row(res);

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

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

安裝有基于LabWindows/CVI開(kāi)發(fā)平臺(tái)所設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)的某型試驗(yàn)機(jī)已進(jìn)行了7 000 h的軸承壽命試驗(yàn),模擬了軸承工況,考核了軸承在壽命期內(nèi)的振動(dòng)、摩擦力矩和溫升指標(biāo),并且一臺(tái)試驗(yàn)機(jī)可以精確試驗(yàn)和檢測(cè)多套軸承,操作簡(jiǎn)單。軸承試驗(yàn)過(guò)程中,試驗(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)過(guò)程中,該系統(tǒng)可實(shí)時(shí)的將軸承的試驗(yàn)狀態(tài)、報(bào)警信息、試驗(yàn)機(jī)運(yùn)行狀態(tài)等數(shù)據(jù)準(zhǔn)確的采集到數(shù)據(jù)服務(wù)器中。查詢(xún)客戶(hù)端可調(diào)用數(shù)據(jù)服務(wù)器接口程序,通過(guò)局域網(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òng)將推出獨(dú)立出口電商APP
鐵路軸承試驗(yàn)機(jī)
哈爾濱軸承(2020年2期)2020-11-06 09:22:28
接觸疲勞試驗(yàn)機(jī)伺服電動(dòng)缸加載系統(tǒng)設(shè)計(jì)
哈爾濱軸承(2020年1期)2020-11-03 09:16:08
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
特斯拉 風(fēng)云之老阿姨上位
車(chē)迷(2018年12期)2018-07-26 00:42:22
簡(jiǎn)談MC7字節(jié)碼
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
以新思路促推現(xiàn)代農(nóng)業(yè)上位
橡膠整體式履帶動(dòng)態(tài)嚙合試驗(yàn)機(jī)的設(shè)計(jì)
大洼县| 成武县| 彭泽县| 顺昌县| 温州市| 达尔| 信宜市| 塔城市| 武穴市| 屏山县| 崇礼县| 临邑县| 武隆县| 浮山县| 蛟河市| 焦作市| 绍兴县| 阜宁县| 长春市| 苏尼特右旗| 龙山县| 吴川市| 涟水县| 拜泉县| 临洮县| 黄浦区| 新巴尔虎左旗| 新乐市| 筠连县| 绥棱县| 双鸭山市| 汶川县| 家居| 察雅县| 如皋市| 浦北县| 嘉义县| 七台河市| 嘉定区| 内丘县| 金昌市|