基于c#的上位机控制系统
技术领域
1.本发明涉及计算机领域,特别涉及一种基于c#的上位机控制系统。
背景技术:2.一般情况下,项目上位机都是利用西门子win cc、力控、组态王等组态软件。这些组态软件对于一些特定的需求或者逻辑,会有一定的局限性,使用上也受到软件本身的约束。如果能基于c#开发上位机完全自主开发,几乎不存在功能上的限制,并且扩展方便。另外组态软件需要按套、按点位收费,意味着每个项目无形中都有一个基础成本;而c#开发上位机自主开发,不需要二次授权费用,并且开发一套之后,可以快速应用到其他项目中,同时满足后续人员在此体系架构下进行扩展和研究。
技术实现要素:3.本发明的目的在于提供一种基于c#的上位机控制系统,以克服当前现有技术存在的不足。
4.本发明采取的技术方案是:一种基于c#的上位机控制系统,其包括数据处理系统、通讯接口驱动和页面系统,其中:
5.所述数据处理系统具有多线程,其用于根据不同的硬件选择不同的驱动程序去处理硬件请求和接收、解析数据信息;
6.所述通讯接口驱动用于对不同类型的硬件设备进行二次封装,统一接口,方便调用;
7.所述页面系统包括用户权限管理模块,项目配置模块,项目管理模块和控件管理模块;所述用户权限管理模块与数据库链接判断是否有权限等级,根据用户登录的权限设置等级;所述项目配置模块结合xml文件,将画面组态转换成xml的操作;所述页面管理模块将主页面与按钮之间建立链接,显示对应的界面;所述控件管理模块基于微软的工具箱,对其进行二次开发添加必要属性,形成项目所需的项目控件库。
8.进一步的,所述通讯接口驱动负责与控制设备通信,将i/o设备寄存器中的数据读出后,传送到数据处理系统中,最后界面运行系统会在画面上动态显示。
9.进一步的,所述硬件设备包括plc和智能仪表。
10.进一步的,所述数据处理系统一方面处理来自通讯接口的数据解析、储存以及展示,另一方面处理来自页面系统的人机交互数据。
11.进一步的,所述数据处理系统中建立多线程去处理不同的业务逻辑,其中,线程一:针对不同设备建立不同的数据读取解析处理存入共享内存中;线程二:将需要处理的数据按照要求从共享内存中获取并按要求执行操作数据库的要求;线程三:将共享内存中数据传给界面系统。
12.进一步的,所述控制系统利用mysql数据库作为储存运行数据库,可自定义时间选择储存的时间间隔或者事件。
13.本发明的有益效果是:本发明通过基于c#上位机系统可以代替组态软件的功能,开发一套,即可满足对类似项目监控操作功能,从而节约每个项目的基础成本。
14.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
15.图1是本上位机控制系统的整体架构图。
16.图2是数据处理系统建立多线线处理数据请求示意图。
具体实施方式
17.下面结合附图和具体实施例对本发明进行详细说明。
18.实施例一。
19.一种基于c#的上位机控制系统,其包括数据处理系统、通讯接口驱动和页面系统。其中:
20.通讯接口驱动采用i/o驱动程序实现,其用于对不同类型的硬件设备进行二次封装,统一接口,方便调用,这里硬件包括plc、智能仪表等。
21.数据处理系统建立多线线去处理数据请求:根据不同的硬件选择不同的驱动程序去处理硬件请求和接收,解析数据信息;将解析的数据存放共享内存中,一方面按照用户需求设置更新数据的操作,将共享内存中的数据存储到数据库中;另一方面将定时触发将共享数据更新数据界面系统中,用户更新状态信息和动态现实等。
22.页面系统(view)包括用户权限管理模块,项目配置模块,项目管理模块和控件管理模块。用户权限管理模块根据不同的用户级别有不同的管理权限,将用户名和密码加密存储至数据库中,每次登录用户时,会对比对用户权限操作。项目配置模块为读取和操作xml文件的模块,将配置信息的操作转换成相应格式xml操作(即将配置操作转换成文本操作)。页面管理模块将相应的按钮绑定成页面系统通过点击按钮加载画面,可将部分画面的内容形成加载xml文件实现画面内容的填充,实现人机交互效果。控件管理模块基于微软的工具箱,对其进行二次开发添加必要属性,形成自定义的项目控件库,可将流程图、报警信息、时间信息、历史曲线、参数设置、报表系统等形成控件画面,为以后开发节省时间,使后续扩展性更强。
23.实施例二。
24.一种基于c#的上位机控制系统的实现方法,包括:
25.(1)建立基于c#简易上位机系统与常见西门子设备的通讯链接。所述通信链接是基于dll接口模块或厂家模块等常用协议进行二次封装,形成i/o驱动程序;此i/o驱动程序负责与控制设备的通信,它将i/o设备寄存器中的数据读出后,传送到数据处理系统中,最后界面运行系统会在画面上动态显示。
26.(2)建立数据处理系统。一方面处理来自通讯io链接的数据解析和储存以及展示。另一方面处理来自view画面的人机交互数据。
27.该系统利用mysql数据库作为储存运行数据库,可以自定义时间选择储存的时间间隔或者事件。上位机软件系统的数据处理核心,构建分布式应用系统的基础,它负责实时
数据处理、历史数据存储、统计数据、报警处理、数据服务请求处理等。
28.基于数据处理系统特殊性,建立多线程去处理不同的业务逻辑。线程一:针对不同设备建立不同的数据读取解析处理存入共享内存中。线程二:将需要处理的数据按照要求从共享内存中获取并按要求执行操作数据库的要求。线程三:将共享内存中数据传给界面系统。意在处理不至于一线程死机导致系统瘫痪。
29.(3)项目数据展示和操作控制功能画面view。数据操作展示包含:
30.用户权限管理模块:与数据库链接判断是否有权限等级,根据用户登录的权限设置等级。
31.项目配置模块:结合xml文件,将画面组态转换成xml的操作。
32.页面管理模块:所有的主界面,将主页面与按钮之间建立链接,显示对应的界面。
33.控件管理模块:基于微软的工具箱,对其进行二次开发添加必要属性,形成项目所需的项目控件库。
34.综上,本系统主要用于中小型工业自动化和过程监视与控制等领域,它可以使操作员方便、直观地获取到现场设备的实时数据,并可以下达控制指令达到数据监控、实时操作的目的。总体来说就是为了替代中小型项目中使用组态软件上位机项目,减少企业使用组态软件的基础支出。
35.以上显示和描述了本发明的基本原理、主要特征和优点。本领域的普通技术人员应该了解,上述实施例不以任何形式限制本发明的保护范围,凡采用等同替换等方式所获得的技术方案,均落于本发明的保护范围内。
36.本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
技术特征:1.一种基于c#的上位机控制系统,其特征在于,包括数据处理系统、通讯接口驱动和页面系统,其中:所述数据处理系统具有多线程,其用于根据不同的硬件选择不同的驱动程序去处理硬件请求和接收、解析数据信息;所述通讯接口驱动用于对不同类型的硬件设备进行二次封装,统一接口,方便调用;所述页面系统包括用户权限管理模块,项目配置模块,项目管理模块和控件管理模块;所述用户权限管理模块与数据库链接判断是否有权限等级,根据用户登录的权限设置等级;所述项目配置模块结合xml文件,将画面组态转换成xml的操作;所述页面管理模块将主页面与按钮之间建立链接,显示对应的界面;所述控件管理模块基于微软的工具箱,对其进行二次开发添加必要属性,形成项目所需的项目控件库。2.根据权利要求1所述的一种基于c#的上位机控制系统,其特征在于,所述通讯接口驱动负责与控制设备通信,将i/o设备寄存器中的数据读出后,传送到数据处理系统中,最后界面运行系统会在画面上动态显示。3.根据权利要求1或2所述的一种基于c#的上位机控制系统,其特征在于,所述硬件设备包括plc和智能仪表。4.根据权利要求1所述的一种基于c#的上位机控制系统,其特征在于,所述数据处理系统一方面处理来自通讯接口的数据解析、储存以及展示,另一方面处理来自页面系统的人机交互数据。5.根据权利要求1或4所述的一种基于c#的上位机控制系统,其特征在于,所述数据处理系统中建立多线程去处理不同的业务逻辑,其中,线程一:针对不同设备建立不同的数据读取解析处理存入共享内存中;线程二:将需要处理的数据按照要求从共享内存中获取并按要求执行操作数据库的要求;线程三:将共享内存中数据传给界面系统。6.根据权利要求1所述的一种基于c#的上位机控制系统,其特征在于,所述控制系统利用mysql数据库作为储存运行数据库,可自定义时间选择储存的时间间隔或者事件。
技术总结本发明公开了一种基于C#的上位机控制系统,其包括数据处理系统、通讯接口驱动和页面系统,其中:所述数据处理系统具有多线程,其用于根据不同的硬件选择不同的驱动程序去处理硬件请求和接收、解析数据信息;所述通讯接口驱动用于对不同类型的硬件设备进行二次封装,统一接口,方便调用;所述页面系统包括用户权限管理模块,项目配置模块,项目管理模块和控件管理模块。本系统适用于中小型工业自动化和过程监视与控制等领域,它可以使操作员方便、直观地获取到现场设备的实时数据,并可以下达控制指令达到数据监控、实时操作的目的,同时减少企业使用组态软件的基础支出。减少企业使用组态软件的基础支出。减少企业使用组态软件的基础支出。
技术研发人员:王伟 何宗明 杨勇 黄彬 邹志航
受保护的技术使用者:云顶科技(江苏)有限公司
技术研发日:2021.12.06
技术公布日:2022/3/15