软件开发平台分为三个层次:底层、中间件层、辅助层。尤其是中间件层,采用面向对象思想设计,对每个模块进行拆分,尽可能做到模块间高内聚,低耦合。同时,提供了一些标准的应用接口和调度流程,帮助程序员快速编写自己的应用程序,平台使用了嵌入式平台应用程序的开发,解决了多端口协议通信,端口数据转发,数据存储等功能需要。 | ||||
三层框架结构 | ||||
底层 ◆ Bootloader: u-boot、spi-boot ◆ 操作系统:Linux (内核版本3.0.4) ◆ 文件系统:Yaffs2、Jffs2、Cramfs、NFS、UBIfs 中间件层 ◆ 数据采集监控应用软件模块化平台 ◆ 点阵屏图形接口 ◆ QT嵌入式图形库 ◆ Sqlite3 嵌入式数据库 ◆ 嵌入式SCADA等 辅助层 ◆ 编译工具:GCC ◆ 集成开发环境:Eclipse IDE (windows / Linux) ◆ EJTAG:ejtag-tools工具 | ||||
使用示例----国网集中器应用 以国网集中器应用为例,解释说明如何使用平台框架中应用软件: | ||||
实际上,集中器主要解决的是多端绑定不同协议之间的通信问题。 开发平台提供了非常成熟的模块进行处理类似的问题,例如解决以下问题: 1.使用RS485Port类,将其实例化。 2.使用DL645Protocol类,将其实例化。 3.将协议与端口绑定。 4.将端口添加只MainBoard类当中。 5.编写读写逻辑。 ◆ 取出电表号。 ◆ 取出需要抄读的数据项目。 ◆ 使用DL645Protocol类,将协议打包。 ◆ 调用Write函数将报文发送出去。 ◆ 等待接收电表应答,超后重发。 ◆ 接收到应答后,将数据放入存储模块进行处理。 | ||||
在以上整个过程中,框架提供了端口的读写功能,协议的打包功能,数据的存储功能。程序员使用已有的数据类型,创建出符合自己需求的逻辑。 | ||||
对于这种需求,在每个端口上,绑定对应的协议,一种或者多种。当数据请求收到之后,框架会将数据报文自动送入对应的协议处理模块。处理后,将转换好的协议送入对应协议的任务处理模块,任务处理模块会根据程序员所设置的优先级,将任务执行。 以上需求涉及到的,网络通信模块,GW376.1协议,DL645协议,RS485模块,框架中都有提供。程序员只需要将以上模块,通过调用API将其连接到一起即可。 为了解决程序员开发的各类问题,我们将提供函数手册,方便进行查找。还会提供很多应用类的实例,更方便程序员的学习。 | ||||