智能建筑发展到现在,从3A系统发展到5A系统,从就地控制发展到集中控制,从集中控制发展到分布控制,从单系统发展到多系统协作,从简单控制发展到带人工智能策略控制。这些都要求我们从系统和全局角度来考虑多系统协作,数据共享等问题。在实际工程中,采用专有的通信控制器与被集成系统主机以RS-232方式连接起来,使系统间传递数据,这是一种常见的系统集成方式。串口调试工具作为一个可以接收和发送串口数据的工具,对调试串口来说作用很大。在实际工程中被广泛的应用。
1,开发背景
从通信逻辑角度讲,通信双方交互方式分为两种:查询式和主动上报式。如果通信方式是查询式,那么上层集成软件或者专用的通信控制器要定时地向各弱电子系统发送查询指令,才能获取所需的报警信息和状态信息。从而,上层的系统集成软件能够用这种方式控制单位内的数据传输量;如果弱电子系统的通信方式是主动上报式,那么无需查询,报警信息或者设备状态信息就会上传到上层集成系统。而且,有些弱电子系统的通信控制器在没有报警或不需要上传状态信息时会发送一些数据,以表示在线状态。这些数据对上层的集成系统的数据分析模块产生了很大的压力。
因此,就需要使用软件工具检测设备的数据发送速率,从而为ASE(消防联网网关)选择合适的数据处理算法。保证其有效地获取而且不遗漏弱电子系统通过串口传送的报警信息。同方股份有限公司开发了可检测数据接收速率的串口测试工具—泰康Techcon串口大师。
2,泰康Techcon串口大师开发原理
2.1 Windows API串口通信编程概述
Windows环境下的串口编程与DOS环境下的串口编程有很大不同。Windows环境下的编程的最大特征之一就是设备无关性,它通过设备驱动程序将Windows应用程序与不同的外部设备隔离。Windows封装了Windows 的通信机制这种方式称为API。Windows程序员可以用Windows通信API进行编程,不用对硬件直接进行操作。这种体系称为Windows开放式服务系统(WOSA ,Windows Open Services Architectures),如图:
API函数是Windows程序开发使用的主要函数集,其中提供了十几个专门的通信函数。目前较多的应用是在Windows95/NT 的32位开发环境下,但也存在着Windows3.x下开发的16位通信程序向32位程序的移植问题。
2.2 泰康Techcon串口大师的基本实现流程图
[nextpage]
此时创建了一个基于对话框的程序,其中设置“启动/关闭”“清除接收区”“清除发送区”“进制转换”“复位”“手动发送”“自动发送”“帮助”按钮,分别用于自动向串口发送数据、从串口接收数据等。一个复选框区,可加入时间戳、保存数据、自动换行、进制显示等。
2.3泰康Techcon串口大师核心功能实现
2.3.1使用多线程技术以获得更高的数据接收效率。
2.3.2 处理数据并添加数据接收时间戳
1. 当主窗体接收到线程函数发送(SendMessage)的消息时,调用下面的函数处理数据。
[nextpage]
2.添加接收数据时间戳
每次接收到数据,程序会获取本地时间并且与接收到的数据拼接,最终显示在软件界面上
2.3.3 实现串口设备初始化
3,泰康Techcon串口大师数据测速功能在工程中的应用
3.1 记录每次接收到数据时的时间
每当从串口接收到数据时,软件都会记录下精确到毫秒(ms)的时间戳。目的是能够估计单位时间内接收到数据的字节数。
这是一段测试数据,每秒钟(m)发送5个字节的数据(12 34 56 78 90)使用泰康Techcon串口大师接收到的数据是
从上面的数据可以看到,两次收到“12 34 56 78 90”的实际间隔是1秒钟, 这与发送的时间间隔吻合。说明软件所记录的时间是正确的。在实际工程中的使用方法也类似。 [nextpage]
3.2 记录接收到特殊字符时的时间
如果设置了“根据字符插入时间戳”的内容,这里设置为‘12H'。意思就是,记录每次收到‘12H' 这个特征字节时,记录这个时间戳。仍然以每秒钟发送5各字节数据(12 34 56 78 90)为例。接收到如下的数据:
由于这些数据都是遵循某种协议,所以串口数据包通常都有固定的数据头标识字符。一但确定所遵循的通信规律,那么就可以轻松地计算出接收两个有效的数据包之间的时间间隔。通过上面的数据,就可以看到。以‘12H'作为数据头的数据包,每1秒钟就会发送一次。
3.3 发送设置
发送设置可以设置“十六进制发送”并可选择“循环发送”和“发送间隔”例如:我们设置为十六进制发送,并且每间隔1000ms 循环发送一次
3.4 帮助设置
如对软件有任何疑义,可点击软件右下角的帮助。里面会有对这款软件简单的介绍。
4,结束语
随着智能建筑的发展,串口调试工具的功能需求越来越多。泰康串口大师的开发只是同方股份公司根据自身工程需要自主开发具有自身知识产权的产品。串口测试工具的时代已经到来。