一种基于Qt的上位机控制系统的制作方法

文档序号:7774995阅读:1584来源:国知局
一种基于Qt的上位机控制系统的制作方法
【专利摘要】本发明公开了一种基于Qt的上位机控制系统及方法。该系统包括:客户端,其负载与用户进行交互,将用户需求提交给服务器端,并将服务器端的处理结果传送给用户;服务器端,其用于管理所有硬件资源和算法,接收客户端提交的用户需求并处理,并将处理结果反馈给客户端。本发明由于采取以上技术方案,其具有以下优点:1.客户端进程与服务器端进程为两个独立地模块,并行开发,提高开发效率;2.Mediator模式降低了对象间的耦合,提高了对象的复用性;3.可配置性的特点。
【专利说明】一种基于Qt的上位机控制系统
【技术领域】
[0001]本发明涉及计算机领域,特别是一种基于Qt的上位机控制系统。
【背景技术】
[0002]合适的上位机(微机或工控机),仅仅为工控系统创造了硬件环境,但要使其发挥应有的作用,必须配备优秀的控制系统,并根据系统的实际情况,对系统和应用进行组态。当前,组态的设计多选用Windows平台或混合平台(Windows, Unix等)多任务环境。在多任务环境下,应用的设计一般是将多功能分解为多个相对独立的任务。虽然工控系统对组态功能要求不同,但其总体设计原则为直观、简单和友好。同时,除实现系统固有功能外,组态还预留接口,允许用户定制个性化功能,为实现用户的某些特殊功能提供方便。
[0003]为了使上位机更快、更准、更可靠地完成工控系统自动检测和控制的任务,用户接口作为控制系统的必要组成部分当然也在其中,但当前用户接口在应用过程中存在占用空间较大、可配置性差和实时性不强等问题。因此,需设计一种上位机组态应用体系架构来实现工控系统对整个硬件平台灵活控制与实时监测的功能,同时满足后续人员在此体系架构下进行扩展和研究。

【发明内容】

[0004]针对上述问题,本发明提出一种基于Qt的上位机控制系统。
[0005]本发明提出的基于Qt的上位机控制系统,其包括:
[0006]客户端,其负载与用户进行交互,将用户需求提交给服务器端,并将服务器端的处理结果传送给用户;
[0007]服务器端,其用于管理所有硬件资源和算法,接收客户端提交的用户需求并处理,并将处理结果反馈给客户端。
[0008]本发明还公开了一种基于Qt的上位机控制方法,其包括:
[0009]客户端将用户需求提交给服务器端;
[0010]服务器端接收客户端提交的用户需求并处理,然后将处理结果反馈给客户端;
[0011]客户端将服务器端的处理结果传送给用户。
[0012]本发明由于采取以上技术方案,其具有以下优点:1.客户端进程与服务器端进程为两个独立地模块,并行开发,提高开发效率;2.Mediator模式降低了对象间的耦合,提高了对象的复用性;3.可配置性的特点。
【专利附图】

【附图说明】
[0013]图1是本发明中基于Qt的上位机控制系统整体结构图;
[0014]图2是本发明中客户端体系架构图;
[0015]图3是本发明客户端中按键管理器层的次结构示意图;
[0016]图4是本发明中服务器端体系架构图。【具体实施方式】
[0017]为使本发明的目的、技术方案和优点更加清楚明自,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0018]图1所示为基于Qt的上位机控制系统的整体结构图。如图1所示,该控制系统采用客户端进程和服务器进程的双进程模式,其优点是将该体系架构的功能分为两个功能独立的模块,降低了系统的耦合性。当客户端进程通过Socket将用户的任务提交给服务器进程时,服务器进程根据通信规则解析和执行指令。同时,服务器进程又通过Socket向客户端进程发送执行结果,向共享内存写入系统状态信息,并将结果以特定的形式呈现给用户。
[0019]客户端负责与用户交互,将用户需求提交给服务器端并将服务器端的处理结果传送给用户;服务器管理所有硬件资源和算法,接收客户端提交的需求进行处理,并将处理结果反馈给客户端。
[0020]客户端与服务器端之间的通信通过基于TCP协议的Socket(套接字)和共享内存技术实现。Socket实现客户端与服务器端的指令通信,共享内存技术实现底层硬件工作状态、算法执行进度等信息反馈,由服务器将底层硬件工作状态、算法执行进度写入共享内存,通过客户端每隔一定时间读取共享内存内容,并将读取的内容以用户可以理解的形式展示。
[0021]本发明实施例中,图2为客户端体系架构图。如图2所示,所述客户端包括:
[0022]按键管理器:将所有按键按照图3所示的逻辑关系组织成“树”结构。根据用户的按键操作,按键管理器对该树结构进行遍历,将被按下的按键显示在按键栏,并请求页面管理器在页面栏位置显示被按下的按键所对应的页面;
[0023]页面管理器:页面是整个客户端的核心,实现用户对底层硬件平台的操作与控制及系统状态信息的显示。页面管理器接收按键信号,并通过调用相应的槽函数来将按键对应的页面显示在页面栏位置,实现与用户的交互;
[0024]状态显示模块:以图标和文本形式显示系统状态信息,包括软件配置、底层硬件运行和算法执行等各类信息;
[0025]标题显示模块:显示项目名称和系统时间,提供展示和宣传自己的窗口:
[0026]通信模块:负责客户端进程和服务器进程之间的通信,包括指令下达、执行结果反馈、错误反馈和系统实时监视等;
[0027]中介者模块:充当各模块间交互的桥梁,统一管理各模块间的交互;
[0028]配置器模块:在系统启动时读取系统的配置文件,并对系统各模块进行初始化和配置。
[0029]本发明实施例中,图4为服务器端体系结构。如图4所示,服务器端主要包括:
[0030]硬件接口模块:其用于对不同类型的硬件设备进行二次封装,统一接口,方便调用,其中,硬件包括多种品牌电机、摄像头和PLC等,二次封装主要针对ActiveX、DLL和OPC等不同类型硬件驱动程序的;
[0031]用户接口模块:用于负责接收客户端指令,保证对客户端的实时响应,该功能通过Qt的QThread线程模板实现;
[0032]控制模块,其负责对客户端提交的指令进行解析和执行;[0033]用户自定义模块,其为用户提供接口,允许由用户根据需求进行功能扩展,用于用户的个性化功能实现。
[0034]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于Qt的上位机控制系统,其包括: 客户端,其负载与用户进行交互,将用户需求提交给服务器端,并将服务器端的处理结果传送给用户; 服务器端,其用于管理所有硬件资源和算法,接收客户端提交的用户需求并处理,并将处理结果反馈给客户端。
2.如权利要求1所述的上位机控制系统,其中客户端包括: 按键管理器:管理所有按键,并根据用户按下的按键向页面管理器请求对应的页面; 页面管理器:其根据按键管理器的请求将按键对应的页面显示出来; 状态显示模块:其以图标和文本形式显示系统状态信息; 标题显示模块:其显示项目名称和系统时间; 通信模块:其负责客户端与服务器端的通信; 中介者模块:其充当各模块间交互的桥梁,统一管理各模块间的交互; 配置器模块:其在系统启动时读取系统的配置文件,并对系统各模块进行初始化和配置。
3.如权利要求1所述的上位机控制系统,其中服务器端包括: 硬件接口模块:其用于对不同类型的硬件设备进行二次封装; 用户接口模块:其负责接收客户端指令,保证对客户端的实时响应; 控制模块:其负责对客户端提交的指令进行解析和执行; 用户自定义模块,其为用户提供接口,允许用户根据需求进行功能扩展。
4.一种基于Qt的上位机控制方法,其包括: 客户端将用户需求提交给服务器端; 服务器端接收客户端提交的用户需求并处理,然后将处理结果反馈给客户端; 客户端将服务器端的处理结果传送给用户。
【文档编号】H04L29/06GK103529816SQ201310524475
【公开日】2014年1月22日 申请日期:2013年10月30日 优先权日:2013年10月30日
【发明者】王学伟, 刘衍 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1