專利名稱:人機(jī)接口讀取數(shù)據(jù)的最佳化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種提升通訊讀取效率的最佳化方法,特別涉及一種人機(jī)接口讀取數(shù)據(jù)的最佳化方法。
背景技術(shù):
隨著自動(dòng)控制技術(shù)的發(fā)展,己成功發(fā)展出許多功能強(qiáng)大且可編程的人機(jī)接口(human machine interface;HMI),藉以作為操作者與控制主機(jī)間的溝通媒介,進(jìn)而便于操作者執(zhí)行控制主機(jī)的運(yùn)作控制以及傳遞操作者與控制主機(jī)間的信息。也就是說(shuō),在人機(jī)接口上包括各種輸入/輸出組件,例如按鈕、鍵盤、指針裝置、顯示器等,以提供數(shù)據(jù)輸入、屏幕選擇、機(jī)器操作選擇及手動(dòng)操作驅(qū)使等功能,致使操作者可藉以執(zhí)行控制主機(jī)的運(yùn)作監(jiān)控。
傳統(tǒng)上,控制裝置與人機(jī)接口進(jìn)行聯(lián)機(jī)通訊過(guò)程中,當(dāng)在畫面程序中使用到大量輸入/輸出組件時(shí),則需依據(jù)各組件的讀取地址逐一地至控制裝置上讀取數(shù)據(jù),然后再回到人機(jī)顯示狀態(tài),如此一來(lái),將花費(fèi)許多時(shí)間于通訊上,進(jìn)而嚴(yán)重影響整體效能。并且,由于每次通訊所花費(fèi)的時(shí)間相對(duì)于控制裝置或人機(jī)接口在進(jìn)行數(shù)據(jù)處理上所花費(fèi)的時(shí)間高出甚多,因此一旦通訊次數(shù)頻繁時(shí),人機(jī)接口反應(yīng)控制裝置的狀態(tài)將明顯無(wú)法接近同步。所以,需發(fā)展一較佳的通訊方法,藉以減少人機(jī)接口對(duì)控制裝置的通訊次數(shù),但又可正確反應(yīng)控制裝置的狀態(tài)。
其中,可藉由采用讀取最佳化的方式來(lái)提升通訊執(zhí)行的效率。在現(xiàn)有技術(shù)中,一種讀取最佳化的方法藉由預(yù)定幾組讀取范圍,并于每次通訊時(shí)讀取一組讀取范圍。也就是說(shuō),可由操作者自行指定幾組讀取范圍,并在每次通訊時(shí)讀取一組讀取范圍,因此當(dāng)畫面上的組件的讀取地址落于這些讀取范圍中的一組時(shí),即可直接由先前讀回的范圍區(qū)塊中獲得數(shù)據(jù),而不須再執(zhí)行通訊。然而,在此方法中操作者所能指定的讀取范圍組數(shù)有限,以致指定的輸入組件無(wú)法無(wú)限擴(kuò)充。再者,為獲得較好的讀取效率時(shí),操作者選用的組件的讀取地址需配合指定的那幾組讀取范圍,導(dǎo)致使用者無(wú)法隨心所欲選用讀取地址,而造成使用上有所限制。
另一種讀取最佳化的方法藉由類似快取(cache)內(nèi)存的方式。主要是,在第一次通訊時(shí),多增加一些額外的讀取范圍,因此當(dāng)往后的讀取地址落在前次讀取的范圍內(nèi)時(shí),即可自前次讀回的范圍區(qū)塊中獲得數(shù)據(jù),而不用再執(zhí)行通訊;而當(dāng)讀取地址沒有落在前次讀取范圍內(nèi)時(shí),則重新通訊讀取,并如同第一次通訊的模式,多增加一些額外的讀取范圍。不過(guò),在此方法中,若每次讀取地址都未落在前次通訊所讀回的范圍內(nèi)時(shí),則每次讀取都還是需經(jīng)由通訊來(lái)讀取以獲得數(shù)據(jù),如此一來(lái),不但無(wú)法減少通訊次數(shù),反而因?yàn)槊看瓮ㄓ嵉臄?shù)據(jù)量增加而花費(fèi)更久的時(shí)間。再者,若控制裝置所提供的讀取地址是不連續(xù)的時(shí),則需另外加入一些判斷,以避免讀取地址超過(guò)范圍而導(dǎo)致讀取錯(cuò)誤發(fā)生。
發(fā)明內(nèi)容
鑒于以上的問(wèn)題,本發(fā)明的主要目的在于提供一種人機(jī)接口讀取數(shù)據(jù)的最佳化方法,藉以大致上解決現(xiàn)有技術(shù)所存在的問(wèn)題。
本發(fā)明所揭示的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,可減少通訊次數(shù),并降低系統(tǒng)花費(fèi)在通訊的時(shí)間,以致可提供較多的時(shí)間在處理組件顯示數(shù)據(jù)狀態(tài)與其它工作上,而達(dá)到實(shí)時(shí)控制與反應(yīng)控制裝置狀態(tài)。
本發(fā)明所揭示的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,可由操作者根據(jù)撰寫的畫面程序特性,選擇靜態(tài)或是動(dòng)態(tài)最佳化模式,藉以達(dá)到較好的最佳化效果。
本發(fā)明所揭示的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,可根據(jù)操作者使用到的讀取地址來(lái)自動(dòng)產(chǎn)生較佳的讀取范圍,而操作者不需再自行指定讀取范圍。
因此,為達(dá)上述目的,本發(fā)明通過(guò)一種人機(jī)接口讀取數(shù)據(jù)的最佳化方法,包括下列步驟(a)將多個(gè)讀取地址串成一列,以得到一串讀取地址;(b)計(jì)算出一合并長(zhǎng)度;(c)根據(jù)該合并長(zhǎng)度將該串讀取地址中至少一該讀取地址合并成至少一讀取區(qū)塊,以得到至少一讀取區(qū)塊地址和至少一開始讀取地址;以及(d)轉(zhuǎn)換這些讀取地址,以得到相應(yīng)的多個(gè)儲(chǔ)存區(qū)塊地址。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,其中在計(jì)算出一合并長(zhǎng)度的步驟中包括下列步驟取得一組演算參數(shù);以及根據(jù)該組演算參數(shù)計(jì)算出該合并長(zhǎng)度。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,其中該合并長(zhǎng)度將該串讀取地址中至少一該讀取地址合并成至少一讀取區(qū)塊,以得到至少一讀取區(qū)塊地址和至少一開始讀取地址的步驟中包括下列步驟根據(jù)該合并長(zhǎng)度判斷該串讀取地址中可一次讀取的該讀取地址;以及將這些可一次讀取的讀取地址合并成該讀取區(qū)塊,以得到該讀取區(qū)塊地址和該開始讀取地址。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟編輯至少一畫面;進(jìn)入該編輯畫面的轉(zhuǎn)譯程序;以及在轉(zhuǎn)譯過(guò)程中,搜集所有該畫面中所應(yīng)用到的這些組件的讀取地址,并接著繼續(xù)執(zhí)行步驟(a)至步驟(d)。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟當(dāng)一畫面切換時(shí),搜集在至少一顯示畫面上的這些組件的讀取地址,并接著繼續(xù)依序執(zhí)行步驟(a)至步驟(d)。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在得到這些儲(chǔ)存區(qū)塊地址的后,依據(jù)該讀取區(qū)塊地址發(fā)出一讀取通訊命令;根據(jù)該讀取通訊命令執(zhí)行一通訊,并在該通訊期間讀回相應(yīng)該讀取區(qū)塊地址的多個(gè)數(shù)據(jù);以及在讀回所有的該讀取區(qū)塊地址相應(yīng)的這些數(shù)據(jù)后,形成至少一讀取區(qū)塊數(shù)據(jù)。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在形成該讀取區(qū)塊數(shù)據(jù)后,將該讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的一儲(chǔ)存區(qū)塊中。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在顯示這些組件中多個(gè)組件的狀態(tài)時(shí),根據(jù)這些組件相對(duì)的這些儲(chǔ)存區(qū)塊地址在該儲(chǔ)存區(qū)塊中取得多個(gè)數(shù)據(jù);以及根據(jù)這些數(shù)據(jù)顯示這些組件的狀態(tài)。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在形成該讀取區(qū)塊數(shù)據(jù)后,根據(jù)該讀取區(qū)塊數(shù)據(jù)顯示這些組件的狀態(tài)。
根據(jù)所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟當(dāng)一畫面切換時(shí),搜集在至少一顯示畫面上的這些組件的讀取地址;確認(rèn)這些讀取地址中是否有相對(duì)的儲(chǔ)存區(qū)塊地址;當(dāng)有相對(duì)的儲(chǔ)存區(qū)塊地址的這些讀取地址時(shí),根據(jù)相對(duì)的這些儲(chǔ)存區(qū)塊地址在該儲(chǔ)存區(qū)塊中取得多個(gè)數(shù)據(jù);當(dāng)無(wú)相對(duì)的儲(chǔ)存區(qū)塊地址的這些讀取地址時(shí),依序執(zhí)行步驟(a)至步驟(d),再依據(jù)這些讀取區(qū)塊地址通過(guò)一通訊讀回相應(yīng)這些讀取區(qū)塊地址的多個(gè)數(shù)據(jù),以得到至少一讀取區(qū)塊數(shù)據(jù);以及根據(jù)取得的這些數(shù)據(jù)顯示這些組件的狀態(tài),并選擇性將該讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的一儲(chǔ)存區(qū)塊中。
也就是說(shuō),本發(fā)明所揭示的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,包括下列步驟首先將多個(gè)讀取地址串成一列,以得到一串讀取地址;接著計(jì)算出一合并長(zhǎng)度;根據(jù)合并長(zhǎng)度將一串讀取地址中的讀取地址合并成讀取區(qū)塊,以得到讀取區(qū)塊地址和開始讀取地址;以及轉(zhuǎn)換讀取地址,以得到相應(yīng)的多個(gè)儲(chǔ)存區(qū)塊地址。
其中,藉由來(lái)自控制裝置的一組演算參數(shù)來(lái)計(jì)算出合并長(zhǎng)度。并且,以一次通訊讀取此合并長(zhǎng)度內(nèi)所有讀取地址的數(shù)據(jù)會(huì)比分兩次通訊讀取花費(fèi)更少時(shí)間。因此,根據(jù)不同控制裝置所給予的一組最佳化參數(shù),即可計(jì)算出一最佳的合并長(zhǎng)度,藉以充分利用一次通訊來(lái)讀取數(shù)據(jù),進(jìn)而減少通訊次數(shù)。
此外,可根據(jù)執(zhí)行的畫面程序特性選擇適當(dāng)?shù)淖罴鸦J?。也就是說(shuō),可在畫面編輯器于編譯畫面程序時(shí)進(jìn)行最佳化處理;或者當(dāng)畫面程序進(jìn)入人機(jī)接口后畫面切換時(shí)進(jìn)行最佳化處理。
因此,在將多個(gè)讀取地址串成一列,以得到一串讀取地址的步驟前,更包括下列步驟編輯至少一畫面;進(jìn)入編輯畫面的轉(zhuǎn)譯程序;以及在轉(zhuǎn)譯過(guò)程中,搜集所有畫面中所應(yīng)用到的組件的讀取地址,并接著繼續(xù)執(zhí)行后續(xù)的步驟。
再者,在將多個(gè)讀取地址串成一列,以得到一串讀取地址的步驟前,更包括下列步驟當(dāng)一畫面切換時(shí),搜集在顯示畫面上各個(gè)組件的讀取地址,并接著繼續(xù)執(zhí)行后續(xù)的步驟。
此外,在得到這些儲(chǔ)存區(qū)塊地址的后,更包括下列步驟依據(jù)讀取區(qū)塊地址發(fā)出一讀取通訊命令;根據(jù)讀取通訊命令執(zhí)行一通訊,并于通訊期間讀回相應(yīng)讀取區(qū)塊地址的多筆數(shù)據(jù);以及在讀回所有數(shù)據(jù)后,形成至少一讀取區(qū)塊數(shù)據(jù)。
在此,可根據(jù)該讀取區(qū)塊數(shù)據(jù)顯示這些組件的狀態(tài)。再者,此讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的一儲(chǔ)存區(qū)塊中,以于顯示相應(yīng)此讀取區(qū)塊數(shù)據(jù)的組件狀態(tài)時(shí),可藉由儲(chǔ)存區(qū)塊地址在儲(chǔ)存區(qū)塊中取得數(shù)據(jù);并根據(jù)取得的數(shù)據(jù)顯示組件狀態(tài)。
在此,儲(chǔ)存區(qū)塊可為人機(jī)接口內(nèi)部的內(nèi)存,由于內(nèi)部的內(nèi)存中讀取數(shù)據(jù)的速度可較經(jīng)由通訊讀取數(shù)據(jù)的速度快上許多,因此可避免因?yàn)樽x取數(shù)據(jù)而花費(fèi)過(guò)多時(shí)間于通訊上,進(jìn)而提升人機(jī)接口的執(zhí)行效率。
有關(guān)本發(fā)明的特征與實(shí)作,現(xiàn)配合圖示作最佳實(shí)施例詳細(xì)說(shuō)明如下。
圖1為說(shuō)明根據(jù)本發(fā)明第一實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖;圖2為說(shuō)明圖1中的「步驟120」的詳細(xì)流程圖;圖3為說(shuō)明根據(jù)本發(fā)明第二實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖;圖4為說(shuō)明根據(jù)本發(fā)明第三實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖;圖5A、5B為說(shuō)明根據(jù)本發(fā)明第四實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖;圖6A、6B為說(shuō)明根據(jù)本發(fā)明第四實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖;以及圖7A、7B、7C為說(shuō)明根據(jù)本發(fā)明第四實(shí)施例的人機(jī)接口讀取數(shù)據(jù)的最佳化方法的流程圖。
其中,附圖標(biāo)記說(shuō)明如下步驟110將讀取地址串成一列步驟120計(jì)算合并長(zhǎng)度步驟122取得來(lái)自控制裝置的一組演算參數(shù)步驟124根據(jù)此組演算參數(shù)計(jì)算合并長(zhǎng)度步驟130根據(jù)合并長(zhǎng)度將讀取地址合并成讀取區(qū)塊步驟140轉(zhuǎn)換讀取地址,以得到相對(duì)應(yīng)的儲(chǔ)存區(qū)塊地址步驟250進(jìn)入編譯程序步驟260搜集所有編輯畫面中應(yīng)用到的組件的讀取地址步驟270將讀取區(qū)塊地址及相對(duì)的儲(chǔ)存區(qū)塊地址加載人機(jī)接口步驟280依據(jù)讀取區(qū)塊地址對(duì)控制裝置發(fā)出讀取通訊命令步驟282根據(jù)讀取通訊命令執(zhí)行通訊,并讀回相應(yīng)讀取區(qū)塊地址的數(shù)據(jù)步驟284在讀回所有的讀取區(qū)塊地址相應(yīng)數(shù)據(jù)后,形成一讀取區(qū)塊數(shù)據(jù)步驟286將讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的儲(chǔ)存區(qū)塊中步驟288根據(jù)讀取區(qū)塊數(shù)據(jù)顯示組件狀態(tài)步驟360搜集在所有顯示畫面上的組件的讀取地址步驟390確認(rèn)是否讀取過(guò)?步驟392根據(jù)儲(chǔ)存區(qū)塊地址在儲(chǔ)存區(qū)塊中取得數(shù)據(jù)具體實(shí)施方式
以下舉出具體實(shí)施例以詳細(xì)說(shuō)明本發(fā)明的內(nèi)容,并以圖示作為輔助說(shuō)明。說(shuō)明中提及的符號(hào)為參照附圖的符號(hào)。
參照?qǐng)D1,首先,將所有組件的讀取地址串成一列(步驟110),接著計(jì)算出合并長(zhǎng)度(步驟120),根據(jù)此合并長(zhǎng)度將讀取地址合并成讀取區(qū)塊,以得到讀取區(qū)塊地址和開始讀取地址(步驟130),將組件的讀取地址轉(zhuǎn)換成相對(duì)于由讀取區(qū)塊組成的一塊連續(xù)內(nèi)存的地址,以得到儲(chǔ)存區(qū)塊地址(步驟140)。
在步驟120中,先取得來(lái)自控制裝置的一組演算參數(shù)(步驟122),再根據(jù)此組演算參數(shù)計(jì)算出一合并長(zhǎng)度(步驟124),如圖2所示。其中,在此合并長(zhǎng)度內(nèi)的所有讀取地址只須藉由一次通訊即可取回相對(duì)的數(shù)據(jù),也就是,以一次通訊讀取此合并長(zhǎng)度內(nèi)所有讀取地址的數(shù)據(jù)會(huì)比分兩次通訊讀取花費(fèi)更少時(shí)間。換句話說(shuō),在此會(huì)根據(jù)不同控制裝置所給予一組最佳化參數(shù),計(jì)算出最佳的合并長(zhǎng)度,藉以充分利用一次通訊來(lái)讀取數(shù)據(jù)。
在步驟130中,利用計(jì)算出的最佳的合并長(zhǎng)度判斷傳入的一串讀取地址中哪些可合并在一起,以于一次通訊中即可讀回,藉以將可合并的讀取地址并成一讀取區(qū)塊地址,并且紀(jì)錄合并長(zhǎng)度和開始讀取地址。
此外,操作者可根據(jù)執(zhí)行的畫面程序特性選擇適當(dāng)?shù)淖罴鸦J?,即靜態(tài)最佳化模式或動(dòng)態(tài)最佳化模式。也就是說(shuō),可于畫面編輯器在編譯畫面程序時(shí)即以靜態(tài)最佳化模式進(jìn)行最佳化處理;或者當(dāng)畫面程序加載人機(jī)接口后再以動(dòng)態(tài)最佳化模式進(jìn)行最佳化處理。
就靜態(tài)最佳化模式來(lái)說(shuō),將編輯的全部畫面中所有應(yīng)用到組件的讀取地址做最佳化。例如,當(dāng)操作者總共編輯10個(gè)畫面時(shí),那在此10個(gè)畫面上的所有組件的讀取地址在編譯時(shí)全部會(huì)納入最佳化處理。
換句話說(shuō),操作者在完成畫面編輯后即畫面編輯器進(jìn)入編譯程序,在編譯過(guò)程中進(jìn)行最佳化處理。參照?qǐng)D3,首先,進(jìn)入所有編輯的畫面的編譯程序(步驟250),搜集所有畫面中所應(yīng)用到的組件的讀取地址(步驟260),將搜集的讀取地址串成一列(步驟110),計(jì)算此串讀取地址以得到一合并長(zhǎng)度(步驟120),根據(jù)此合并長(zhǎng)度將讀取地址合并成讀取區(qū)塊,以得到讀取區(qū)塊地址和開始讀取地址(步驟130),將組件的讀取地址轉(zhuǎn)換成相對(duì)于由讀取區(qū)塊組成的一塊連續(xù)內(nèi)存的地址,以得到儲(chǔ)存區(qū)塊地址(步驟140),最后,將讀取區(qū)塊地址及相對(duì)的儲(chǔ)存區(qū)塊地址加載人機(jī)接口中(步驟270),以供人機(jī)接口在執(zhí)行讀取及顯示程序時(shí)使用。也就是,在人機(jī)接口上的通訊讀取程序可依據(jù)讀取區(qū)塊地址對(duì)控制裝置發(fā)出讀取通訊命令(步驟280),根據(jù)讀取通訊命令執(zhí)行通訊,并讀回相應(yīng)讀取區(qū)塊地址的數(shù)據(jù),即在一次通訊中讀回多筆數(shù)據(jù)(步驟282),在讀回所有的讀取區(qū)塊地址相應(yīng)的數(shù)據(jù)后,讀回的數(shù)據(jù)會(huì)形成一讀取區(qū)塊數(shù)據(jù)(步驟284),進(jìn)而將讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的儲(chǔ)存區(qū)塊中(步驟286),即儲(chǔ)存在人機(jī)接口內(nèi)部的內(nèi)存中,如圖4所示。
由于畫面上所有組件的讀取地址在執(zhí)行完最佳化程序后己轉(zhuǎn)成相對(duì)的儲(chǔ)存區(qū)塊地址,因此在顯示組件狀態(tài)時(shí),不需再發(fā)出讀取通訊命令去控制裝置讀回?cái)?shù)據(jù),而根據(jù)組件相對(duì)的儲(chǔ)存區(qū)塊地址直接從儲(chǔ)存于人機(jī)接口內(nèi)部的內(nèi)存中的讀取區(qū)塊數(shù)據(jù)取得所需的數(shù)據(jù)。也就是說(shuō),在顯示組件狀態(tài)時(shí),可根據(jù)顯示組件相對(duì)的儲(chǔ)存區(qū)塊地址于儲(chǔ)存區(qū)塊中取得數(shù)據(jù)。由于自內(nèi)部的內(nèi)存中讀取數(shù)據(jù)與經(jīng)由通訊讀取數(shù)據(jù)的速度差別相當(dāng)大,也就是自內(nèi)存中讀取數(shù)據(jù)的速度可較經(jīng)由通訊讀取數(shù)據(jù)的速度快上許多,如此一來(lái),即可避免因?yàn)樽x取數(shù)據(jù)而花費(fèi)過(guò)多時(shí)間于通訊上,進(jìn)而提升人機(jī)接口的執(zhí)行效率。
再者,就動(dòng)態(tài)最佳化模式來(lái)說(shuō),根據(jù)畫面開啟和關(guān)閉的變化而動(dòng)態(tài)執(zhí)行最佳化程序,即在人機(jī)應(yīng)用程序在主畫面切換,或者在子畫面開啟或關(guān)閉時(shí)啟動(dòng)執(zhí)行。
換句話說(shuō),當(dāng)人機(jī)接口上的主畫面切換時(shí),或者為子畫面開啟或關(guān)閉時(shí),將當(dāng)時(shí)被開啟顯示的畫面(包含主畫面及子畫面)上的組件的讀取地址納入最佳化處理。
參照?qǐng)D5A、5B,當(dāng)畫面切換時(shí),搜集在所有顯示畫面上的組件的讀取地址(步驟360),將搜集到的讀取地址串成一列(步驟110),計(jì)算此串讀取地址以得到一合并長(zhǎng)度(步驟120),根據(jù)此合并長(zhǎng)度將讀取地址合并成讀取區(qū)塊,以得到讀取區(qū)塊地址和開始讀取地址(步驟130),將組件的讀取地址轉(zhuǎn)換成相對(duì)于由讀取區(qū)塊組成的一塊連續(xù)內(nèi)存的地址,以得到儲(chǔ)存區(qū)塊地址(步驟140),接著,在人機(jī)接口上的通訊讀取程序再依據(jù)讀取區(qū)塊地址對(duì)控制裝置發(fā)出讀取通訊命令(步驟280),根據(jù)讀取通訊命令執(zhí)行通訊,并讀回相應(yīng)讀取區(qū)塊地址的數(shù)據(jù),即在一次通訊中讀回多筆數(shù)據(jù)(步驟282),在讀回所有的讀取區(qū)塊地址相應(yīng)的數(shù)據(jù)后,讀回的數(shù)據(jù)會(huì)形成一讀取區(qū)塊數(shù)據(jù)(步驟284),進(jìn)而根據(jù)此讀取區(qū)塊數(shù)據(jù)顯示組件狀態(tài)(步驟288)。
此外,可將讀取區(qū)塊數(shù)據(jù)儲(chǔ)存在內(nèi)部的儲(chǔ)存區(qū)塊中(步驟286),即儲(chǔ)存在人機(jī)接口內(nèi)部的內(nèi)存中,以在下次畫面切換時(shí),可根據(jù)儲(chǔ)存區(qū)塊地址直接從儲(chǔ)存于人機(jī)接口內(nèi)部的內(nèi)存中的讀取區(qū)塊數(shù)據(jù)取得取所需的數(shù)據(jù),如圖6A、6B所示。
換句話說(shuō),參照?qǐng)D7A、7B、7C,當(dāng)畫面切換時(shí),搜集在所有顯示畫面上的組件的讀取地址(步驟360),確認(rèn)已讀取與未讀取的組件,即確認(rèn)搜集的讀取地址是否有對(duì)應(yīng)的儲(chǔ)存區(qū)塊地址(步驟390),己讀取組件的讀取地址,根據(jù)儲(chǔ)存區(qū)塊地址直接在儲(chǔ)存區(qū)塊中取得數(shù)據(jù)(步驟392),進(jìn)而根據(jù)取得的數(shù)據(jù)顯示組件狀態(tài)(步驟288)。其中,而未讀取組件的讀取地址則執(zhí)行上述的步驟110~步驟288,如圖7A、7B、7C所示。
即,當(dāng)顯示畫面上的組件為已讀取的組件時(shí),則不需再發(fā)出讀取通訊命令去控制裝置讀回?cái)?shù)據(jù),而根據(jù)組件相對(duì)的儲(chǔ)存區(qū)塊地址直接從儲(chǔ)存于人機(jī)接口內(nèi)部的內(nèi)存中的讀取區(qū)塊數(shù)據(jù)取得所需的數(shù)據(jù);而未讀取的組件再進(jìn)行最佳化處理。
綜合上述,根據(jù)本發(fā)明的讀取數(shù)據(jù)的最佳化方法,可減少通訊次數(shù),并且可降低統(tǒng)花費(fèi)在通訊上的時(shí)間,以致可提供較多的時(shí)間在處理組件顯示數(shù)據(jù)狀態(tài)與其它工作上,而達(dá)到實(shí)時(shí)控制與反應(yīng)控制裝置狀態(tài)。
再者,根據(jù)本發(fā)明的讀取數(shù)據(jù)的最佳化方法,操作者可根據(jù)其撰寫的畫面程序特性,選擇靜態(tài)或是動(dòng)態(tài)最佳化模式,以達(dá)到較好的最佳化效果。
此外,根據(jù)本發(fā)明的讀取數(shù)據(jù)的最佳化方法,可根據(jù)操作者使用到的讀取地址來(lái)自動(dòng)產(chǎn)生較佳的讀取范圍(即,上述的讀取區(qū)塊),而不用再由操作者自行指定讀取范圍。
雖然本發(fā)明以前述的較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,本技術(shù)領(lǐng)域人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的專利保護(hù)范圍須視本說(shuō)明書所附的申請(qǐng)專利范圍所界定的為準(zhǔn)。
權(quán)利要求
1.一種人機(jī)接口讀取數(shù)據(jù)的最佳化方法,包括下列步驟(a)將多個(gè)讀取地址串成一列,以得到一串讀取地址;(b)計(jì)算出一合并長(zhǎng)度;(c)根據(jù)該合并長(zhǎng)度將該串讀取地址中至少一該讀取地址合并成至少一讀取區(qū)塊,以得到至少一讀取區(qū)塊地址和至少一開始讀取地址;以及(d)轉(zhuǎn)換這些讀取地址,以得到相應(yīng)的多個(gè)儲(chǔ)存區(qū)塊地址。
2.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,其中在計(jì)算出一合并長(zhǎng)度的步驟中包括下列步驟取得一組演算參數(shù);以及根據(jù)該組演算參數(shù)計(jì)算出該合并長(zhǎng)度。
3.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,其中該合并長(zhǎng)度將該串讀取地址中至少一該讀取地址合并成至少一讀取區(qū)塊,以得到至少一讀取區(qū)塊地址和至少一開始讀取地址的步驟中包括下列步驟根據(jù)該合并長(zhǎng)度判斷該串讀取地址中可一次讀取的該讀取地址;以及將這些可一次讀取的讀取地址合并成該讀取區(qū)塊,以得到該讀取區(qū)塊地址和該開始讀取地址。
4.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟編輯至少一畫面;進(jìn)入該編輯畫面的轉(zhuǎn)譯程序;以及在轉(zhuǎn)譯過(guò)程中,搜集所有該畫面中所應(yīng)用到的這些組件的讀取地址,并接著繼續(xù)執(zhí)行步驟(a)至步驟(d)。
5.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟當(dāng)一畫面切換時(shí),搜集在至少一顯示畫面上的這些組件的讀取地址,并接著繼續(xù)依序執(zhí)行步驟(a)至步驟(d)。
6.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在得到這些儲(chǔ)存區(qū)塊地址的后,依據(jù)該讀取區(qū)塊地址發(fā)出一讀取通訊命令;根據(jù)該讀取通訊命令執(zhí)行一通訊,并在該通訊期間讀回相應(yīng)該讀取區(qū)塊地址的多個(gè)數(shù)據(jù);以及在讀回所有的該讀取區(qū)塊地址相應(yīng)的這些數(shù)據(jù)后,形成至少一讀取區(qū)塊數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在形成該讀取區(qū)塊數(shù)據(jù)后,將該讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的一儲(chǔ)存區(qū)塊中。
8.根據(jù)權(quán)利要求7所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在顯示這些組件中多個(gè)組件的狀態(tài)時(shí),根據(jù)這些組件相對(duì)的這些儲(chǔ)存區(qū)塊地址于該儲(chǔ)存區(qū)塊中取得多個(gè)數(shù)據(jù);以及根據(jù)這些數(shù)據(jù)顯示這些組件的狀態(tài)。
9.根據(jù)權(quán)利要求6或7任一所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟在形成該讀取區(qū)塊數(shù)據(jù)后,根據(jù)該讀取區(qū)塊數(shù)據(jù)顯示這些組件的狀態(tài)。
10.根據(jù)權(quán)利要求1所述的人機(jī)接口讀取數(shù)據(jù)的最佳化方法,更包括下列步驟當(dāng)一畫面切換時(shí),搜集在至少一顯示畫面上的這些組件的讀取地址;確認(rèn)這些讀取地址中是否有相對(duì)的儲(chǔ)存區(qū)塊地址;當(dāng)有相對(duì)的儲(chǔ)存區(qū)塊地址的這些讀取地址時(shí),根據(jù)相對(duì)的這些儲(chǔ)存區(qū)塊地址在該儲(chǔ)存區(qū)塊中取得多個(gè)數(shù)據(jù);當(dāng)無(wú)相對(duì)的儲(chǔ)存區(qū)塊地址的這些讀取地址時(shí),依序執(zhí)行步驟(a)至步驟(d),再依據(jù)這些讀取區(qū)塊地址通過(guò)一通訊讀回相應(yīng)這些讀取區(qū)塊地址的多個(gè)數(shù)據(jù),以得到至少一讀取區(qū)塊數(shù)據(jù);以及根據(jù)取得的這些數(shù)據(jù)顯示這些組件的狀態(tài),并選擇性將該讀取區(qū)塊數(shù)據(jù)儲(chǔ)存于內(nèi)部的一儲(chǔ)存區(qū)塊中。
全文摘要
一種人機(jī)接口讀取數(shù)據(jù)的最佳化方法,主要依據(jù)不同的控制裝置將組件的讀取地址合并成讀取區(qū)塊地址,以于一次通訊期間讀回所需的數(shù)據(jù),藉以減少所需通訊的次數(shù)和在數(shù)據(jù)讀取上所需的時(shí)間,進(jìn)而達(dá)到實(shí)時(shí)控制與反應(yīng)控制裝置狀態(tài)。再者,更可依據(jù)畫面程序特性,選擇靜態(tài)或動(dòng)態(tài)最佳化模式,以達(dá)到較好的最佳化效果。
文檔編號(hào)G06F3/00GK1924763SQ20051009781
公開日2007年3月7日 申請(qǐng)日期2005年8月29日 優(yōu)先權(quán)日2005年8月29日
發(fā)明者蕭明倫 申請(qǐng)人:臺(tái)達(dá)電子工業(yè)股份有限公司