Tilcon介紹
Tilcon是理想的人機界面、虛擬設備和嵌入式圖形界面開發環境,適用於不同的行業和領域。開發包括高質量虛擬設備的圖形界面系統比較困難,需要編寫大量的代碼,並要求開發人員具有相應的特殊技能。使用Tilcon可以把用戶從大量編碼的圖形界面開發方式中解放出來,方便的開發出高性能的圖形界面和虛擬設備。使用Tilcon用戶可以迅速完成原型的構建並對其進行測試,這樣可以大大縮短從構想到原型再到實際產品的開發周期。
Tilcon作為高效圖形界面開發環境已經獲得了廣泛的認同,到目前為止已經有超過500家不同領域的用戶使用Tilcon來開發他們的產品,這些產品包括塑膠注射成型機,半導體製造設備,信件分揀設備,鋼鐵及紙張打磨設備,複雜的引擎測試設備等。
Tilcon廣泛套用於各種交通工具的儀表系統中,包括飛機、裝甲車、火車機車、潛水艇等。
Tilcon在醫療設備製造領域取得了相當大的成功,為麻醉監視設備、放射線治療設備、透析設備和患者監視設備等開發了複雜的用戶界面系統。
隨著移動計算設備的普及,Tilcon越來越多的用於各種手持設備圖形界面的開發。在這個領域中,Tilcon界面的代碼長度小、具有可裁剪性、開發的高效率以及出色的圖形顯示效果是其取得成功的主要因素。
Tilcon強大的地圖模組以及出色的虛擬儀表開發能力吸引了眾多汽車製造商的注意,這些製造商正在使用Tilcon開發完全集成化的車載電子系統。
Tilcon的工作原理
從用戶的角度來看,使用Tilcon開發用戶界面的過程如下:使用Tilcon的設計工具(Tilcon圖形編輯器)構建圖形界面的螢幕顯示(twd檔案),使用滑鼠以拖動-釋放的方式從工具列添加用戶界面對象,並點擊滑鼠右鍵打開屬性框編輯對象的屬性,所有屬性的改變都會立刻在開發環境中反映出來。與此同時用戶能夠以完全可視化的方式設定對象的大多數功能和事件回響方式,之後可以點擊開發環境的測試按鍵來檢驗整個圖形界面的運行效果。Tilcon可以使用用戶指定的模擬數據在測試狀態下驅動各個對象。
用戶編寫的C/C++程式應該包括一個主事件循環來控制用戶界面。在運行時,用戶程式首先使用TRT_Start函式啟動一個Tilcon圖形引擎(一個與用戶程式完全獨立的進程)並與此引擎進行通信。在執行完必要的初始化操作之後,用戶程式使用Tilcon API函式命令圖形引擎裝載並顯示用戶界面的介紹視窗或者動態創建用戶界面。
在此之後,用戶程式進入主循環等待事件的產生。當一個Gui事件產生時(例如單擊一個按鈕),這個事件或者直接被Tilcon處理,或者Tilcon傳送一個描述此事件的數據結構給用戶程式由後者
用戶程式(控制進程)傳送一系列指令(API命令)給Tilcon圖形引擎的命令佇列。這些命令是異步的,用戶程式不需要等待命令處理完畢(圖形顯示被更新)就可以直接返回到自己的主要任務中(對實時系統的監視/控制等)。Tilcon的圖形引擎把GUI函式調用和用戶程式隔離開來,它是一個獨立的進程,這種結構在保證用戶程式實時性的同時提高了系統的可靠性。
使用Tilcon設計好圖形界面並編寫完用戶程式之後,就可以進行編譯並把程式和Tilcon API連結起來,然後整個系統就可以運行了。
以下是典型的基於Tilcon的用戶控制程式的結構。
Tilcon開發系統包括三個基本組成部分:Tilcon圖形引擎,平台無關的API和一個可視化圖形界面設計工具――Tilcon圖形編輯器。
Tilcon圖形引擎是一個小型的,事件驅動的圖形處理核心,它的任務是更新螢幕顯示。它是一個與用戶程式相互獨立的進程,負責處理所有的螢幕顯示和用戶輸入事件。有了Tilcon圖形引擎的協助,用戶程式就可以專注於自己的主要任務。這種圖形互動界面和用戶程式相互獨立的結構使得圖形界面具有非常好的移植性,並易於修改和維護。
第二個組成部分是一系列平台無關的API函式,這些函式用來提供用戶程式和Tilcon圖形引擎之間的通信功能。用戶程式調用這些函式可以實現顯示對象的動態創建,改變顯示對象的屬性等功能。
使用Tilcon圖形編輯器可以以一種非常方便的滑鼠拖拽-釋放方式從一組功能完善的內置對象中選擇所需的對象來構成複雜的圖形互動界面。在圖形編輯器中,所有對象的顯示效果和功能可以非常方便的通過屬性框來修改。Tilcon的這種基本結構具有以下優點:
可移植性
Tilcon進程和用戶程式相互獨立,負責處理所有與作業系統相關的互動操作。在所有的運行平台上,Tilcon的API庫都是相同的。這就保證了用戶程式和作業系統之間的獨立性。實際上,Tilcon開發環境並沒有產生任何代碼。當用戶使用Tilcon的圖形編輯器設計了一個圖形界面並保存為Tilcon的檔案格式後,實際沙上被保存的是一個資源檔案(一系列的標籤,坐標,API命令――圖形引擎知道怎樣解釋並執行這些命令)。在圖形引擎內部有實際的按鈕處理函式,對話框函式,圖表函式等。根據保存在.twd檔案中的數據,圖形引擎知道在哪裡放置視窗,視窗的尺寸,視窗的內容等。因為存儲在.twd檔案中的是數據而不是C代碼,在修改.twd檔案後不需要進行重新編譯。這種方法使用戶可以不必考慮生成代碼的長度,節省了重新編譯的時間,並使界面具有很好的移植性。.twd檔案與作業系統無關,在所有支持的平台上都可以運行。
Tilcon圖形引擎有自己的繪製能力,所有的顯示對象都是Tilcon對象,不屬於作業系統。只有最基本的圖形功能是由作業系統的API函式提供的。這樣就可以保證同樣的設計在所有的作業系統上具有相同的運行效果。
使用圖形編輯器設計的顯示對象可以儲存為.twd檔案的一部分,也可以作為Tilcon庫的一部分儲存為Tilcon對象檔案。圖形對象也可以被動態創建,實際上整個螢幕都可以動態的創建、編輯和保存。無論對象是如何被創建的,它們的現實效果和功能在所有的支持平台上都是一致的。
在整個Tilcon開發系統中,唯一平台相關的部分是實際的Tilcon圖形引擎,Tilcon為每種支持平台提供了各自的圖形引擎。
因為可以對圖形界面進行修改而不需要重新編譯,界面的維護和升級就變得相當簡單,在特定的套用中甚至可以實現遠程維護和升級。
螢幕上所有的內容都是可重用的,用戶的原型設計可以變成實際的應用程式。
用戶只需編寫一次程式就可以在所有Tilcon支持的平台上運行。如果準備開發一種產品並打算用支持多種平台的方式擴大市場,Tilcon的這種能力是非常有用的。許多設備製造商都歡迎這個事實,雖然他們的設備使用某種實時作業系統,他們的銷售人員可以在筆記本電腦的Windows系統上演示同樣的程式。這一點對各種訓練系統來說也是很重要的。
另外一個主要的優點是可以進行交叉平台開發。在某種平台上可選擇的開發工具可能很有限,或者很難找到合適的開發人員,不停的往目標系統上下載程式也可能很不方便。在這種情況下,在標準的作業系統上使用合適的開發環境和工具進行開發然後把整個程式移植到目標系統上是非常有效的開發方式。
Tilcon的圖形編輯器是非常友好的開發工具。使用它,程式設計師、美工和界面設計者可以非常方便的進行協作。
通過內置的TCP/IP網路,用戶可以在不同種類的環境中進行顯示和控制。數據源可以運行在一個實時作業系統上,並可以很方便的與桌面系統集成在一起。
Tilcon圖形引擎
Tilcon的圖形引擎在效能上是一個成熟的圖形驅動器。除了執行所有的API命令進行螢幕繪製之外,它還負責維護所有描述顯示對象的數據結構並處理所有的作業系統訊息,觸發器,通知和回調函式。Tilcon圖形引擎是連線用戶程式和作業系統的橋樑。它知道如何讀取twd檔案的數據,如何根據這些數據生成視窗,如何創建所有的按鈕、文本和其他視窗內的對象。它知道使用哪種作業系統命令來更新一個對象,如何獲取對象內部的數據,如何偵測用戶是否改變了一個對象的狀態。圖形引擎和用戶程式並行運行,它回響用戶程式的API命令完成圖形界面視窗的裝載和顯示,裝載儀表數據,初始化對話框和其他對象。圖形引擎還負責通知應用程式文本被改變,按鈕被單擊等用戶互動操作。
觸發器在效果上是一些內置在顯示對象內的API命令。當特定的事件發生時,例如一個checkbox變成非選中的狀態,Tilcon圖形引擎就執行此對象內置的觸發器命令。使用這種方式,一個按鈕可以用來激活一個視窗,此過程不需要用戶程式的配合。
Tilcon圖形引擎包括一個伺服器,它負責處理用戶程式要求的所有圖形服務。它把用戶程式發出的API命令翻譯成圖形引擎可以理解的指令,它還負責接收並翻譯傳送給用戶程式的UI事件和數據。
地圖模組
地圖模組允許用戶處理並顯示地圖信息。Tilcon支持標準的MapINFO,ADRG,CADRG和DTED地圖格式。
Tilcon的地圖處理API函式包括超過80個處理地圖數據的函式。目前這些API函式主要處理從紙質地圖掃描得到的地圖數據。API函式允許把掃描的數據註冊到選定的地圖投影中,並建立相應的註冊地圖檔案資料庫,這些資料庫採用平鋪的檔案結構。
Tilcon的地圖函式也提供顯示坐標格線、數位化、路徑回放和縮放等功能,也提供了對常用地理坐標系的處理能力。
光柵化的地圖數據使用BMP格式儲存,Tilcon的圖形引擎支持這種格式。對這些檔案的數據引用功能由Tilcon的地圖庫功能庫提供。
Tilcon也提供了BMP數據和WGS84格式的數據之間的轉換能力,並支持在投影坐標和地理坐標之間的轉換。現在Tilcon完全支持被廣泛使用的UTM投影,提供使用MGRS格式對UTM數據進行編碼的能力。類似的還支持極地區域的UPS投影。
去除掃描地圖引入的系統誤差是Tilcon地圖功能庫的主要任務之一。此功能允許用戶把掃描得到的地圖檔案註冊為投影坐標系統,並以此為基礎創建覆蓋資料庫。除此之外還提供了從掃描地圖創建地圖陣列矩陣資料庫的功能。Tilcon地圖模組還支持相鄰地圖資料庫之間的合併。
Tilcon提供了一系列數據以及相關的橢圓和地理區域用來幫助用戶選擇其感興趣區域的適當的值。Tilcon還提供了使用MRE函式把數據轉化成WGS84格式所需的一系列參數,以及常用的34個橢圓的參數列表。
使用Tilcon地圖功能創建的地圖資料庫由許多BMP檔案和一個.toc檔案構成。.toc檔案描述了資料庫的內容。
一幅圖像對象在顯示窗體中被創建,此對象被引用到實際世界之中。API函式搜尋資料庫中感興趣的區域並在記憶體中生成要顯示的相關圖像。
用戶程式可以使用API函式命令地圖顯示器對地圖進行處理來獲得所需的效果。
Tilcon的地圖API還提供了在大地坐標和投影坐標進行轉換的能力,以及和WGS84格式之間的轉換功能。