天天爽天天看-日本少妇xxxx动漫-亚洲av成人精品毛片-欧美一区二区三区激情啪啪-91精品国产成-欧美牲交a欧美牲交aⅴ-欧美日韩国产免费观看-九九99精品久久久久久综合-欧美理论影院-国内老熟妇乱子伦视频-www在线观看av-黄色裸体网站-少妇高潮惨叫久久久久久-国产偷国产偷av亚洲清高-国产午夜精品理论片小yo奈-高大丰满熟妇丰满的大白屁股

閱讀 | 訂閱
閱讀 | 訂閱
數控機床

嵌入式數據庫在數控系統中的實現與應用

星之球激光 來源:中國自動化網2011-12-21 我要評論(0 )   

摘要 :針對目前數控系統普遍采用文本文件格式存儲管理數據方式上存在的問題,提出在嵌入式數控系統中采用基于MySQL數據庫管理數據的全新技術解決方案。在 RTLinux操作...

摘要:針對目前數控系統普遍采用文本文件格式存儲管理數據方式上存在的問題,提出在嵌入式數控系統中采用基于MySQL數據庫管理數據的全新技術解決方案。在 RTLinux操作系統下,用MySQL設計機床數據庫,創建用戶接口,實現數據庫與基于GTK+庫開發的用戶操作界面的連接,在對數據庫最小化裁剪后,成功完成了向嵌入式數控系統硬件平臺的移植。結果表明:嵌入式數控系統的數據庫管理方式實現了對大量參數的有效管理,極大地改善了系統的性能。
關鍵詞:嵌入式數控系統;MySQL數據庫;Linux;MySQL C API;移植

1 引言

本文所論述是數控系統大課題中人機交互的外圍部分子課題中的數據庫開發應用。在數控加工系統中,存在著大量的用戶設定參數、系統參數、坐標軸參數、軸補償參數和刀具特征參數等數據。在整個生產制造系統中,這些數據不僅對于數控編程人員是必需的,而且對于實時過程控制系統、調度系統、工序處理、庫存管理系統、刀具維護管理系統等也是必需的。這些數據的組織管理方式對數控系統的實時性乃至性能影響很大,因此高性能數控系統必須解決數據的有效性組織管理問題。如果采用直接將數據存放在一個表或字符數組中,數據的修改與維護會相當困難、繁雜,這與數控系統對數據操作要求簡單方便與快捷相悖,因此這種組織管理方式不能滿足數控系統的要求。目前數控加工系統普遍采用的文本文件格式存儲管理數據的方式也存在著實時操作性較差和磁盤空間浪費嚴重的缺點,而實時性和存儲空間兩個要素對于高性能嵌入式數控系統來說卻是至關重要的。因此,在本課題研究中,作者提出在嵌入式Linux[1]環境下的數控系統中采用基于 MySQL數據庫管理數據的全新技術解決方案。實踐結果表明:在嵌入式數控系統中采用數據庫進行數據管理,滿足了高性能嵌入式數控系統在實時性和存儲空間方面的要求,提高了系統的速度,極大地改善了系統的性能。

本文就嵌入式數控系統中數據庫應用開發的具體實現過程,以及如何將數據庫應用程序向嵌入式數控系統硬件平臺的移植方法和對數據庫進行最小化裁剪的技巧上做了詳細介紹。

由于本課題開發的人機界面是利用GTK+圖形庫,因此系統中采用的基于MySQL數據庫應用開發,需要解決MySQL和GTK+相互融合的問題。 GTK+ 沒有直接操作數據庫的控件,對數據庫的操作可以采取通過MySQL C API 直接進行,再調用GTK+ 的顯示功能的方法來完成與用戶的交互 [2] [3]。

2 數據庫實現

2.1 數據庫的建立

2.1.1 創建work數據庫

首先創建一個名稱為work的數據庫,并包含系統需要的所有表,作為根用戶連接到MySQL。具體創建過程如下:

% mysql –uroot mysql; //進入數據庫

mysql> SET PASSWORD=PASSWORD(‘lyw00001’); //為根用戶分配一個口令

mysql> CREATE DATABASE work ; //創建work數據庫

mysql> GRANT ALL ON work.* to lyw@localhost IDENTIFIED BY ‘lyw00001’;//創建一個名為lyw的用戶

//與根用戶使用同一口令,并為用戶賦予數據庫work的完全訪問權限

% mysql –ulyw –p lyw00001 work; //連接庫

2.1.2 創建表

針對基于GTK+庫設計的用戶操作界面有若干個表與之相對應,下面以一個界面為例詳細說明MySQL與GTK+的連接過程。

連接到數據庫之后,就可以向它添加內容了,使用CREATE命令來創建一個名為tbl_amend_amend的表。

CREATE TABLE tbl_amend_amend (

number INT NOT NULL PRIMARY KEY,

shapeh VARCHAR(10),

deleteh VARCHAR(10),

shaped VARCHAR(10),

deleted VARCHAR(10),);

創建一個表后,可使用SQL語句INSERT命令向表中填入數據,但這種方法當數據量大時會耗時很多。因此作者采用批處理模式向表中填入數據的方法,具體作法是:首先創建一個存儲SQL語句的文本文件amend_data.sql,如圖1所示;然后執行SQL語句:

% mysql –ulyw –p lyw00001 work < amend_data.sql

就將圖1中的數據加入到tbl_amend_amend表中了,如表1所示。如果需要對數據進行修改,則只需要在amend_data.sql文本文件中進行,然后重新執行一次上文中提到的語句就可以輕松地完成。

 


圖1 amend_data文本文件
表1 tbl_amend_amend表

2.2 連接模塊

完成數據庫及表的創建,有了相關的數據,下一步的工作就是在應用程序中實現與數據庫的連接。應用程序中用connect_to_db()模塊實現了與數據庫work連接功能,模塊代碼如下:

void Connect_to_db(){……;

conx = mysql_init((MYSQL *)0L); //初始化

……;

temp = mysql_real_connect(conx,126.0.0.1, lyw,lywcita001, work, 0, 0L, 0);

……;}

mysql_real_connect函數用于連接到名稱為conx 的MySQL服務器,其主機的IP地址為“127.0.0.1”,用戶名為“lyw”,密碼為“lywcita001”,連接的數據庫名為work。

2.3 填充模塊

實現了與數據庫的連接后,接下來應將數據庫的數據填充到用戶界面上去。應用程序中用Fill_clist()模塊實現數據填充功能,其實現流程為:用MySQL查詢所需的數據;將查詢結果保存在內部緩存中;將緩存中的數據顯示在用戶界面上。模塊代碼如下:

void Fill_clist(){ ……;

gchar *amend_clist_row[5] = {,,,,}; //定義gtk+數組數據指針及變量

mysql_query(conx,select number,shapeh,deleteh,shaped,deleted from tbl_amend_amend);

result_set = mysql_store_result(conx); //將查詢結果保存在內部緩存中

num_fields = mysql_num_fields(result_set); //獲得結果集中列的數量

while(db_row = mysql_fetch_row(result_set)) {

lengths = mysql_fetch_lengths(result_set); //獲得列的長度

amend_clist_row[0] = db_row[0];

……;

amend_clist_row[4] = db_row[4]; //將獲得的db_row字符串數組的值一一對應地賦值給amend_clist_row

gtk_clist_append(GTK_CLIST(modify_list),amend_clist_row); }//填充到clist對應的域中

mysql_free_result(result_set);} //釋放結果集所用的內存

編譯運行插入程序,實現了數據庫向用戶界面填充數據功能,獲得了如圖2所示的界面。

 


圖2 MySQL填充圖

2.4 更新模塊

當用戶在界面上對系統參數進行修改后,希望將新的數據寫入數據庫保存,確保數據信息的一致性和連續性,因此應用程序應具有根據系統參數的改變而更新數據庫的功能。與填充模塊類似,應用程序中用Update_database()模塊實現數據庫更新功能。

3 數據庫移植

3.1 移植的硬件平臺

本數控系統中采用了嵌入式PC平臺,嵌入式PC與標準PC機完全兼容。因而,可以在普通PC上做好設計和開發,再將軟件移植到嵌入式PC上。本系統開發采用嵌入式PC104計算機,硬件水平達到P3級,內存為128M,程序存儲選用128M CF[4]卡。#p#分頁標題#e#

3.2 移植過程

要在數控系統中應用數據庫和操作界面,則需要將MySQL和操作界面應用程序移植到CF卡中。考慮到CF卡的容量問題,在移植的過程中要對數據庫進行裁剪。

3.2.1 mysqld運行服務器的移植

要讓MySQL能運行在嵌入式系統中,那么mysqld運行服務器文件的移植有著至關重要的作用。用命令ldd mysqld查詢與mysqld可執行文件相關的庫,結果如表2所示:

表2 與mysqld可執行文件相關的庫文件

 

相關庫文件

大小

相關庫文件

大小

librt.so.1 => /lib/librt.so.1

37K

libstdc++.so.5 => /usr/lib/libstdc++.so.5

71K

libdl.so.2 => /lib/libdl.so.2

15K

libm.so.6 => /lib/tls/libm.so.6

21K

libpthread.so.0 => /lib/tls/libpthread.so.0

79K

libgcc_s.so.1 => /lib/libgcc_s.so.1

30K

libz.so.1 => /usr/lib/libz.so.1

52K

libc.so.6 => /lib/tls/libc.so.6

1531K

libcrypt.so.1 => /lib/libcrypt.so.1

23K

/lib/ld-linux.so.2 => /lib/ld-linux.so.2

103K

libnsl.so.1 => /lib/libnsl.so.1

91K

 

 

執行文件mysqld的大小為3.3M,而其相關的庫文件的大小約為2M,將mysqld并同上述相關的庫文件一起移植到CF卡上,這樣mysqld便可在嵌入式硬件平臺上有效地執行了。

3.2.2 應用文件的移植

假定應用程序的可執行文件為app,用命令ldd app同樣可以查詢到與可執行文件app相關的庫。將應用程序連同與應用程序執行相關的庫文件一起移植到CF卡上。應用程序的大小約為100K,與應用程序執行相關聯的庫文件的大小約為8M,而這8M的庫文件大部分為嵌入式Linux系統自身帶有的庫文件,基本上不需要再移植。這樣就可在嵌入式數控系統中運行用戶操作界面程序,而在后臺運行數據庫程序了。

4 結束語

CNC技術是現代加工技術的一個重要組成部分,如何在現有的技術基礎上不斷改進數控系統以滿足新的需求具有十分重要的意義。隨著機械加工領域對數控系統的精度、效率、功能以及智能化程度[5]的進一步要求,控制面板、人機界面和系統數據組織管理方式等方面都需要不斷的完善和創新,系統數據的基于 Mysql數據庫管理方式與目前數控系統普遍采用的文本文件管理方式相比,數據庫只需在一個導入文檔中修改更新數據就可以完成對數據的維護,操作簡單方便、快捷,并且數據庫索引在數據庫啟動時進駐內存,對數據庫查詢、數據記錄的刪除和添加,索引能很方便、快捷地完成;數據庫最小化裁剪后容量很小,因此,不論在實時性方面還是在存儲空間方面都滿足了高性能嵌入式數控系統的要求,提高了系統的速度,極大地改善了系統的性能。

參考文獻

[1] 于明儉,陳向陽,方漢.Linux程序設計權威指南[M].北京:機械工業出版社,2001.22-337.

[2] 孔令富,曹立強.用GTK+和MySQL開發數據庫應用[J].計算機工程與科學.2001,23(3):45-46,54.

[3] T C X.MySQL Reference Manual[EB/OL].http://www.mysql.com/ documentation/ mysql/full/,2000-09-25.

[4]李昊等.CF卡在大容量數據存儲系統的典型應用[J].微計算機信息(測控自動化).2005.第21卷第

11-1期:66-68

[5] 熊清平.數控系統技術的發展趨勢[J].機電工程技術.2004,(3):91-94

 

轉載請注明出處。

暫無關鍵詞
免責聲明

① 凡本網未注明其他出處的作品,版權均屬于激光制造網,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權范圍內使 用,并注明"來源:激光制造網”。違反上述聲明者,本網將追究其相關責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯系我們刪除。
③ 任何單位或個人認為本網內容可能涉嫌侵犯其合法權益,請及時向本網提出書面權利通知,并提供身份證明、權屬證明、具體鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件后,將會依法盡快移除相關涉嫌侵權的內容。

網友點評
0相關評論
精彩導讀
天天爽天天看-日本少妇xxxx动漫-亚洲av成人精品毛片-欧美一区二区三区激情啪啪-91精品国产成-欧美牲交a欧美牲交aⅴ-欧美日韩国产免费观看-九九99精品久久久久久综合-欧美理论影院-国内老熟妇乱子伦视频-www在线观看av-黄色裸体网站-少妇高潮惨叫久久久久久-国产偷国产偷av亚洲清高-国产午夜精品理论片小yo奈-高大丰满熟妇丰满的大白屁股
  • <abbr id="a4qk0"><tfoot id="a4qk0"></tfoot></abbr>
    <fieldset id="a4qk0"></fieldset>
    国产精品wwwww| 欧美一级视频在线| a级网站在线观看| 伊人成人免费视频| 日韩av片网站| 国产xxxxx视频| 欧美激情第3页| 91 视频免费观看| 国产精品中文久久久久久| 色中文字幕在线观看| 欧美一级小视频| 欧美一级免费在线观看| 黄色a级三级三级三级| 欧美日韩理论片| japanese在线播放| 狠狠干 狠狠操| 国产成人精品无码播放| 天天干天天玩天天操| 国产高清999| 国产精品自拍合集| 91在线视频观看免费| 亚洲va在线va天堂va偷拍| av动漫在线播放| 国产日韩一区二区在线观看| 伊人色在线观看| www插插插无码免费视频网站| 日本十八禁视频无遮挡| 91激情视频在线| 超碰中文字幕在线观看| 国产手机免费视频| 天天影视色综合| 韩日视频在线观看| 不卡中文字幕在线观看| 全黄性性激高免费视频| 高清av免费看| 少妇高潮喷水久久久久久久久久| 自拍偷拍一区二区三区四区| 欧美黄网在线观看| 一女二男3p波多野结衣| 亚洲 欧美 日韩 国产综合 在线| 在线观看av网页| 国产白丝袜美女久久久久| 精品亚洲一区二区三区四区| 精品国产av无码一区二区三区| 激情婷婷综合网| av在线播放亚洲| 日韩精品一区二区三区电影| 四季av一区二区| av7777777| 成人免费视频91| 99久久久精品视频| 伊人网在线综合| 免费看a级黄色片| 国产91在线免费| 伊人再见免费在线观看高清版 | 天美星空大象mv在线观看视频| 免费的av在线| 国产欧美综合一区| 午夜在线视频免费观看| 亚洲精品性视频| 一区二区三区欧美精品| 少妇网站在线观看| 啊啊啊国产视频| 美女黄色片视频| 爆乳熟妇一区二区三区霸乳| 国产精品免费入口| 亚洲国产精品久久久久婷蜜芽| 国产传媒久久久| 国产原创popny丨九色 | 黑人粗进入欧美aaaaa| 黄色成人在线看| 男女激情无遮挡| 免费激情视频在线观看| 欧美 日本 亚洲| 黄色一级大片在线观看| 欧美日韩在线观看不卡| 午夜精品在线免费观看| 97超碰成人在线| 波多野结衣激情| 久久人人爽人人爽人人av| 97视频在线免费| 男女视频一区二区三区| 不用播放器的免费av| 日本一区二区三区四区五区六区| 亚洲啊啊啊啊啊| 波多野结衣乳巨码无在线| 妺妺窝人体色www在线观看| 精品综合久久久久| 日韩欧美一级在线| 亚洲精品乱码久久久久久自慰| 色悠悠久久综合网| 亚洲av首页在线| 六月丁香激情网| 手机av在线免费| 成人免费视频91| 不卡中文字幕在线观看| 天天想你在线观看完整版电影免费| 91黄色在线看| 天堂在线中文在线| 日韩视频免费播放| 色噜噜狠狠一区二区三区狼国成人| 男人天堂新网址| 日日躁夜夜躁aaaabbbb| 男女猛烈激情xx00免费视频| 亚洲综合婷婷久久| 青青艹视频在线| 女人床在线观看| 一级黄色特级片| 激情伊人五月天| 涩多多在线观看| 中文字幕视频在线免费观看| 日本黄大片在线观看| 亚洲小视频网站| 免费观看成人网| 日本中文字幕网址| 日本黄大片在线观看| 激情文学亚洲色图| 日韩一级片播放| 国模杨依粉嫩蝴蝶150p| 日韩精品在线中文字幕| 国产一级黄色录像片| 午夜剧场在线免费观看| av动漫在线观看| 成年网站在线免费观看| 国产美女在线一区| 中国丰满熟妇xxxx性| 成人小视频在线观看免费| 玖玖精品在线视频| 中文字幕乱码免费| 手机看片日韩国产| 成人免费看片视频在线观看| 日本美女久久久| 免费成人深夜夜行网站视频| 五月天婷婷影视| 亚洲热在线视频| 青青视频免费在线| 亚洲精品国产suv一区88| 一区中文字幕在线观看| 91精品国产三级| 日韩在线观看a| 日韩国产欧美亚洲| 欧美精品aaaa| 图片区乱熟图片区亚洲| 一本色道久久88亚洲精品综合| www.黄色网址.com| 777777av| 日韩va在线观看| 三年中国中文在线观看免费播放| 黄瓜视频免费观看在线观看www| 欧美午夜精品理论片| 国产一级片91| 最近免费中文字幕中文高清百度| 欧美日韩一区二区三区69堂| 一区中文字幕在线观看| 欧美 日本 亚洲| 日韩欧美亚洲另类| 成人免费视频91| 特级丰满少妇一级| 国产免费xxx| 国产熟人av一二三区| 性鲍视频在线观看| 自拍日韩亚洲一区在线| 亚洲欧美在线精品| 亚洲色成人www永久在线观看| 日本久久久精品视频| 国内自拍第二页| 久久精品免费一区二区| www.偷拍.com| 苍井空浴缸大战猛男120分钟| 五月天男人天堂| 成人黄色一区二区| 丁香六月激情婷婷| 小说区视频区图片区| 91淫黄看大片| 国产av麻豆mag剧集| 爱爱爱视频网站| 欧美日韩亚洲自拍| 日本三级免费观看| 欧美黑人在线观看| 欧美视频国产视频| jizz欧美激情18| 女人扒开屁股爽桶30分钟| 久久久久福利视频| 咪咪色在线视频| 亚欧精品在线视频| 911福利视频| 看欧美ab黄色大片视频免费 | 日韩一区二区三区久久| 免费av观看网址| 亚洲国产成人精品无码区99| ijzzijzzij亚洲大全| 午夜不卡福利视频| 无尽裸体动漫2d在线观看| 色婷婷综合久久久久中文字幕| 青春草国产视频| 丰满的少妇愉情hd高清果冻传媒| 妞干网这里只有精品| 潘金莲一级淫片aaaaaa播放1| 中文字幕一区二区在线观看视频| 日韩欧美国产片|