TILCON
1.Tilcon介绍
Tilcon是理想的人机界面、虚拟设备和嵌入式图形界面开发环境,适用于不同的行业和领域。
开发包括高质量虚拟设备的图形界面系统比较困难,需要编写大量的代码,并要求开发人员具有相应的特殊技能。使用Tilcon可以把用户从大量编码的图形界面开发方式中解放出来,方便的开发出高性能的图形界面和虚拟设备。使用Tilcon用户可以迅速完成原型的构建并对其进行测试,这样可以大大缩短从构想到原型再到实际产品的开发周期。
Tilcon作为高效图形界面开发环境已经获得了广泛的认同,到目前为止已经有超过500家不同领域的用户使用Tilcon来开发他们的产品,这些产品包括塑料注射成型机,半导体制造设备,信件分拣设备,钢铁及纸张打磨设备,复杂的引擎测试设备等。
Tilcon广泛应用于各种交通工具的仪表系统中,包括飞机、装甲车、火车机车、潜水艇等。
Tilcon在医疗设备制造领域取得了相当大的成功,为麻醉监视设备、放射线治疗设备、透析设备和患者监视设备等开发了复杂的用户界面系统。
随着移动计算设备的普及,Tilcon越来越多的用于各种手持设备图形界面的开发。在这个领域中,Tilcon界面的代码长度小、具有可裁剪性、开发的高效率以及出色的图形显示效果是其取得成功的主要因素。
Tilcon强大的地图模块以及出色的虚拟仪表开发能力吸引了众多汽车制造商的注意,这些制造商正在使用Tilcon开发完全集成化的车载电子系统。
2.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事件和数据。
3. 地图模块
地图模块允许用户处理并显示地图信息。
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格式之间的转换功能。
Tilcon是理想的人机界面、虚拟设备和嵌入式图形界面开发环境,适用于不同的行业和领域。
开发包括高质量虚拟设备的图形界面系统比较困难,需要编写大量的代码,并要求开发人员具有相应的特殊技能。使用Tilcon可以把用户从大量编码的图形界面开发方式中解放出来,方便的开发出高性能的图形界面和虚拟设备。使用Tilcon用户可以迅速完成原型的构建并对其进行测试,这样可以大大缩短从构想到原型再到实际产品的开发周期。
Tilcon作为高效图形界面开发环境已经获得了广泛的认同,到目前为止已经有超过500家不同领域的用户使用Tilcon来开发他们的产品,这些产品包括塑料注射成型机,半导体制造设备,信件分拣设备,钢铁及纸张打磨设备,复杂的引擎测试设备等。
Tilcon广泛应用于各种交通工具的仪表系统中,包括飞机、装甲车、火车机车、潜水艇等。
Tilcon在医疗设备制造领域取得了相当大的成功,为麻醉监视设备、放射线治疗设备、透析设备和患者监视设备等开发了复杂的用户界面系统。
随着移动计算设备的普及,Tilcon越来越多的用于各种手持设备图形界面的开发。在这个领域中,Tilcon界面的代码长度小、具有可裁剪性、开发的高效率以及出色的图形显示效果是其取得成功的主要因素。
Tilcon强大的地图模块以及出色的虚拟仪表开发能力吸引了众多汽车制造商的注意,这些制造商正在使用Tilcon开发完全集成化的车载电子系统。
2.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事件和数据。
3. 地图模块
地图模块允许用户处理并显示地图信息。
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格式之间的转换功能。