1271621 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種提昇通訊讀取效率的最佳化,特別是一種 人機介面讀取數據的最佳化方法。 【先前技術】
、Ik者自動控制技術的發展,已成功發展出許多功能強大且可 私式化之人機介面(human machine interface ; HMI),藉以作為操 作者與控批顧騎通齡,進續於操作者執健制主機的 運作控制以及傳遞操作者與㈣彳主機_資訊。也就是說,於人 機面上包括各種輸入/輸出元件,例如:按紐、鍵盤、指標裝置、 顯示器等’以提供數據輸入、螢幕選擇、機器操作選擇及手動操 作驅使等功1 S使操作者可藉以執行控制主機的運作監控。
傳統上,控制裝置與人機介面進行連線通訊過程中,若於晝 面程序中使用到大量輸入/輸出元件時,則需依據各元件的讀取^ 址逐-地至控織置上讀取數據,紐再_人機顯示狀態,如 此-來,將花費許多時間於通訊上,進而嚴重影響整體效能。並 且’由於每次通訊所花__相對於控繼置或 =資=:里上所花費之時間高出甚多,因此—但通訊次數頻繁 幾;丨面反應控制裝置的狀態將明顯無法接近 ^展;;較佳之通訊方法,藉以減少人機介面軸裝置的通訊 人但又可正確反應控制裝置的狀態。 其中,可藉由採用讀取最佳化的方式來提昇通訊執行的效 1271621 , 率。於習知技術中,一種讀取最佳化的方法係藉由預定幾組讀取 範圍,並於每次通訊時讀取一組讀取範圍。也就是說,可由操作 者自行指定幾組讀取範圍,並於每次通訊時讀取一組讀取範圍, 因此當晝面上之元件的讀取位址係落於此些讀取範圍中之一組 時,即可直接由先前讀回的範圍區塊中獲得數據,而不須再執行 通訊。然而,於此方法中操作者所能指定的讀取範圍組數有限, 以致指定的輸入元件無法無限擴充。再者,為獲得較好的讀取效 _ 率時,操作者選用之元件的讀取位址需配合指定的那幾組讀取範 圍,導致使用者無法隨心所欲選用讀取位址,而造成使用上有所 限制。 另種^貝取隶佳化的方法係措由類似快取(cache)記憶體的方 式。主要是,於第一次通訊時,多增加一些額外之讀取範圍,因 此當往後的讀取位址係落在前次讀取的範圍内時,即可自前次讀 回的範圍區塊中獲得數據,而不用再執行通訊;而當讀取位址沒 有落在前次讀取範圍内時,則重新通訊讀取,並如同第一次通訊 _ 之模式,多增加一些額外之讀取範圍。不過,於此方法中,若每 次讀取位址都未落在前次通訊所讀回的範圍内時,則每次讀取都 還是需經由通訊來讀取以獲得數據,如此一來,不但無法減少通 訊次數,反而因為每次通訊的數據量增加而花費更久的時間。再 者,若控制裝置所提供的讀取位址是不連續的時,則需另外加入 一些判斷,以避免讀取位址超過範圍而導致讀取錯誤發生。 【發明内容】 1271621 繁^上關題,本㈣社要目的在於提供_種人機 妹數據的最魏方法,_纽上峨先驗術畴在的問題。 兮本發明所揭露之人機介面讀取數據❾最佳化方法, =數’錄低系統花費在軌的咖,以致可提供較多的時間 控:=示數據狀態與其他工作上’而達成即時控制與反應 本發明所揭露之人機介_取數_最佳化方法,可由操作 春者根據撰寫的晝面程序特性,選擇靜態或是動態最佳化模式,、藉 以達到較好的最佳化效果。 曰 本發明所·之人齡面讀取數據的最佳化方法,可根據操 作者使用到的讀取位址來自動產生較佳之讀取範圍,而操作者不 需再自行指定讀取範圍。 。因此,為達上述目的’本發贿揭露之人機介面讀取數據的 最佳化方法,包括下列步驟:首先將複數個讀取位址串成一列, 以得到一串讀取健;接㈣算出—合併長度;根據合併長度將 鲁-串讀取位址中之讀取位址合併成讀取區塊,以得到讀取區塊位 址和開始讀取位址;以及轉換讀取位址,以得到相應之複數個儲 存區塊位址。 其中,係藉由來自控制裝置的一組演算參數來計算出合併長 度。並且,以一次通訊讀取此合併長度内所有讀取位址的數據會 比分兩次通訊讀取花費更少時間。因此,根據不同控制裝置所給 予之一組最佳化參數,即可計算出一最佳的合併長度,藉以充分 1271621 利用一次通訊來讀取數據,進而減少通訊次數。 此外,可根據執行的晝面程序特性選擇適當的最佳化模式。 也就是說,可於晝面編輯器於編譯畫面程序時進行最佳化處理; 或者係當晝面程序進入人機介面後晝面切換時進行最佳化處理。 因此,於將複數個讀取位址串成一列,以得到一串讀取位址 之步驟前’更包括下列步驟:編輯至少—晝面;進人編輯畫面之 轉譯程序;以及於轉譯過程巾,絲财晝面巾所躺到之元件 的讀取位址,並接續執行後續之步驟。 再者,於將複數個讀取位址串成一列,以得到一串讀取位址 之步驟前’更包括下列步驟:當一晝面切換時,t集於顯示晝面 上各個元件的頃取位址,並接續執行後續之步驟。 此外,於得到該些儲存區塊位址之後,更包括下列步驟:依 據讀取區塊位址發出一讀取通訊命令;根據讀取通訊命令執行一 通訊,並於通訊期間讀回相應讀取區塊位址之多筆數據;以及於 讀回所有數據後,形成至少一讀取區塊數據。 於此,可根據該讀取區塊數據顯示該些元件之狀態。再者, 此讀取區塊數據儲存於内部之—齡區塊巾,以棚示相應此讀 取區塊數據之元件狀態時,可藉由儲存區塊位址於儲存區塊中取 付數據,並根據取得之數據顯示元件狀態。 於此’儲存區塊可為人機介面内部的記憶體,由於内部的記 憶體中讀取數據的速度可較經由通訊讀取數據的速度快上許多, 因此可避免因為讀取數據而花費過多時間於通訊上,進而提升人 1271621 機介面的執行效率。 有關本發明的特徵與實作,茲配合圖示作最佳實施例詳細說 明如下。 【實施方式】 以下舉出具體實施例以詳細說明本發明之内容 ,並以圖示作 為輔助說明。說明中提及之符號係參照圖式符號。
參照第1圖,首先,將所有元件的讀取位址串成一列(步驟 no) ’接著計算出合併長度(步驟120),根據此合併長度將讀取 位址合併成讀取區塊,以得到讀取區塊位址和開始讀取位址(步 驟130) ’將元件的讀取位址轉換成相對於由讀取區塊組成的一塊 連續記憶體的位址,以得到儲存區塊位址(步驟140)。 於「步驟120」+,係先取得來自控制裝置的一組演算參數 (步驟122),再根據此組演算參數計算出—合併長度(步驟 I24)如第2圖所示。其巾,於此合併長度⑽所有讀取位址只 須藉由-錢訊即可取_對的數據,也就L次通訊讀取 此合併長度_有讀取位址的數據會比分兩次通訊讀取花費更少 時間。換句話說,於此會根據不同控制裝置所給予一组最佳化束 數,計算崎制合併錢,私充分细—錢訊來讀取數據。 於「步驟⑽」中,係利用計算出的最佳之合併長度判斷傳 入的=串讀取位址中哪些可合併在-起,以於_次通訊中即可讀 回,藉以將可合併的讀取位址併成1取區塊位址,並且紀錄合 併長度和開始讀取位址。 1271621 ^卜操作者可根據執行的晝面程序特性選擇適當的最佳化 核式。即靜恶最佳倾式或祕最佳倾^。也就是說,可於晝 面編輯器於編譯晝面程序時即以靜態最佳化模式進行最佳化處 或者係w旦面轉載人人機介面後再㈣態最佳化模式進行 最佳化處理。 -就靜最佳化核式來說,係將編輯之全部晝面中所有應用到 讀的讀取位址做最佳化。例如,當操作者總共編輯ig個晝面 日^那於此10個晝面上的所有元件之讀輪址在編譯時全部會納 入最佳化處理。 換句H操作者於完成晝面編輯後即晝面編輯器進入編譯 程序,於編譯過程中進行最佳化處理。參照第3目,首先,進入 所有編輯的晝面之編譯程序(步驟25G),_所有晝面中所應用 到的元件的讀取位址(步驟260),將蕙集的讀取位址串成一列(步 驟110),計算此串讀取位址以得到一合併長度(步驟12〇),根據 此合併長度將讀取位址合併成讀取區塊,以得到讀取區塊位址和 •開始讀取位址(步驟130),將元件的讀取位址轉換成相對於由讀 取區塊組成的-塊連續記憶體的位址,以得到儲存區塊位址(步 驟140) ’最後,將讀取區塊位址及相對之储存區塊位址載入人機 介面中(步驟270 )’以供人機介面於執行讀取及顯示程序時使用。 也就是,於人機介面上的通訊讀取程序可依據讀取區塊位址對控 制裝置發㈣取通訊命令(步驟),根據讀取通訊命令執行通 訊,並讀回相應讀取區塊位址之數據,即於一次通訊中讀回多筆 *1271621 ί=Γ282) ’於讀啊細爾她嫩數據後,讀 攄成—讀取嶋據(步驟284),進而將讀取區塊數 2赫_敎儲麵财(_86),阶_人機介面内部 的圮憶體中,如第4圖所示。 、由於旦面上所有%件的讀取位址於執行完最触程序後已 轉成相對之儲存區塊位址,因此於顯示元件狀態時,不需再發出 讀取通訊命令去控制裝置讀回數據,而係根據元件相對之齡區 ,塊位址直接從儲存於人機介面内部的記憶體中之讀取區塊數據取 得所需之雜。也就是說,於顯示元件狀態時,可根據顯示元件 相對讀存區塊位址於儲存區塊中取得數據。由於自内部的記憶 體中讀取數據與經由軌讀取數制速度朗相當大,也就是自 冗t思體中讀取數據的速度可較經由通訊讀取數據的速度快上許 多,如此-來,即可避免因為讀取數據而花費過多時間於通訊 進而提升人機介面的執行效率。 再者,就動態最佳化模式來說,係根據晝面開啟和關閉的變 化而動態執行最佳化程序,即於人機應用程序在主晝面切換,或 者係於子晝面開啟或關閉時啟動執行。 換句話說,當人機介面上的主畫面切換時,或者係子晝面開 啟或關閉時,將當時被開啟顯示的晝面(包含主晝面及子書面) 上的元件之讀取位址納入最佳化處理。 參照第5A、5B目,當晝面切換時,荒集於所有顯示晝面上 之元件的讀取位址(步驟360)’將蒐集到的讀取位址串成一列(步
(S 11 -1271621 驟110),計异此串讀取位址以得到一合併長度(步驟⑽),根據 此合併長度將讀取健合併成讀取區塊’以剌讀祕塊位址和 開始讀取位址(步驟130),將元件的讀取位址轉換成相對於由讀 取區塊組成的-塊連續記紐的位址’轉顺存區塊位址(步 驟140),接著,於人機介面上的通訊讀取程序再依據讀取區塊位 址對控制裝置發㈣取軌命令(麵),_讀取通訊命令 執行通訊,並讀回相應讀取區塊位址之數據,即於一次通訊中讀 回多筆數據(步驟282),於讀回所有的讀取區塊位址相應之數據 後,讀回的數據會形成一讀取區塊數據(步驟284),進而根據此 頃取區塊數據顯示元件狀態(步驟288)。 此外,可將讀取區塊數據儲存於内部之儲存區塊中(步驟 286)’即儲存在人機介面内部的記憶體中,以於下次晝面切換時, 可根據儲存區塊位址直接從儲存於人機介面内部的記憶體中之讀 取區塊數據取得取所需之數據,如第6A、6B圖所示。 換句話說,參照第7A、7B、7C圖,當晝面切換時,蒐集於 ^有顯不晝面上之元件的讀取位址(步驟360),確認已讀取與未 貝取之元件,即確認蒐集之讀取位址是否有對應之儲存區塊位址 7驟39〇),已項取元件之讀取位址,根據儲存區塊位址直接於 儲2區塊中取得數據(步驟392),進而根據取得之數據顯示元件 (步驟288)。其中,而未讀取元件之讀取位址則執行上述之 步驟110」〜「步驟288」,如第7A、7B、7C圖所示。 即’當顯示晝面上之元件係為已讀取之元件時,則不需再發 12 1271621 出讀取通訊命令去控繼置讀_據,而雜據元件相對之錯存 區塊位址直接從齡於人機介_部的記憶體巾之讀取區塊數據 取得所㊆之數據,而未讀取之元件再進行最佳化處理。 綜合上述,根據本發明之讀取數據的最佳化方法,可減少通 訊次數’並且可降低系統花費在通訊的時間,以致可提供較多的 時間於處理耕顯示數據狀態與其缸作上,而達成即時控制與 反應控制裝置狀態。 〃 再者,根據本發明之讀取數據的最佳化方法,操作者可根據 其撰寫的晝面程序特性,選擇靜態或是動録佳化模式,以達到 較好的最佳化效果。 此外,根據本發明之讀取數據的最佳化方法,可根據操作者 使用到的讀取位址來自動產生較佳之讀取範圍(即,上述之讀取 區塊)’而不用再由操作者自行指定讀取範圍。 雖然本發明以前述之較佳實施例揭露如上,然其並非用以限 疋本卷月任何热習相像技藝者,在不脫離本發明之精神和範圍 内田可作些許之更動與潤飾,因此本發明之專利保護範圍須視 本說明書所附之申請專利範圍所界定者為準。 【圖式簡單說明】 第1圖係為說明根據本發明第一實施例之人機介面讀取數據 的最佳化方法的流程圖; 第2圖係為說明第!圖中之「步驟120」的詳細流程圖; 第3圖係為說明根據本發明第二實施例之人機介面讀取數據 d 13 1271621 的最佳化方法的流程圖; 第4圖係為說明根據本發明第三實施例之人機介面讀取數據 的最佳化方法; 第5A、5B圖係為說明根據本發明第四實施例之人機介面讀 取數據的最佳化方法; 第6A、6B圖係為說明根據本發明第四實施例之人機介面讀 取數據的最佳化方法;以及 第7A、7B、7C圖係為說明根據本發明第四實施例之人機介 面讀取數據的最佳化方法。 【主要元件符號說明】 步驟110......................將讀取位址串成一列 步驟120.....................計算合併長度 步驟122.....................取得來自控制裝置的一組演算參數 步驟124.....................根據此組演算參數計算合併長度 步驟130.....................根據合併長度將讀取位址合併成讀取區 鲁 塊 步驟140.....................轉換讀取位址,以得到相對應之儲存區塊 位址 步驟250 .....................進入編譯程序 步驟260 .....................蒐集所有編輯畫面中應用到之元件的讀 取位址 步驟270 .....................將讀取區塊位址及相對之儲存區塊位址 -1271621 載入人機介面 步驟280 .....................依據讀取區塊位址對控制裝置發出讀取 通訊命令 步驟282 .....................根據讀取通訊命令執行通訊,並讀回相應 讀取區塊位址之數據 步驟284 .....................於讀回所有的讀取區塊位址相應數據 後,形成一讀取區塊數據 步驟286 .....................將讀取區塊數據儲存於内部之儲存區塊
中 步驟288 .....................根據讀取區塊數據顯示元件狀態 步驟360 .....................蒐集於所有顯示晝面上之元件的讀取位 址 步驟390 .....................確認是否讀取過? 步驟392 .....................根據儲存區塊位址於儲存區塊中取得數 據
15