一种数字量i/o控制系统和方法

文档序号:9666622阅读:451来源:国知局
一种数字量i/o控制系统和方法
【技术领域】
[0001]本发明属于自动控制和电子技术领域,具体是指一种数字量I/O控制系统和方法。
【背景技术】
[0002]在工业控制中,对控制对象进行数字量I/O控制,可采用工控机结合数字量I/O设备(以下简称I/o设备)实现。I/O设备厂商提供驱动程序模块,一般情况下应用程序可以直接调用驱动程序模块的函数进行数字量I/o的控制。
[0003]但这样做会有以下不足:即上层应用程序与底层驱动形成强耦合关系,因此上层应用程序直接对应I/o设备以及电气意义上的输入/输出逻辑关系。如果更换I/O控制设备的品牌或型号,上层应用程序代码必须进行相应修改。另外,当需要修改和扩展I/O通道或者出现I/o通道损坏,需要改变原有输入/输出逻辑对应关系时,也需要对上层应用程序进行修改。总而言之,此情况不利于程序的通用性和可维护性。

【发明内容】

[0004]本发明的目的之一是提供一种数字量I/O控制系统,该控制系统的调用模块与数字量功能相关,与I/o设备驱动模块无关,与数字量I/O设备的具体电气对应点位无关。
[0005]—种数字量I/O控制系统,所述系统包括:调用模块,用于通过应用程序获取I/O通道对象,以实现对数字量I/O信号的控制;1/0控制模块,用于管理、创建和访问I/O通道对象,调用I/o设备驱动模块提供的驱动函数;1/0设备驱动模块,提供驱动函数,以实现对数字量I/o设备的具体控制。
[0006]所述的I/O控制模块包括数据库访问对象、嵌入式数据库、I/O通道管理对象、I/O通道对象、以及驱动接口对象。
[0007]其中,嵌入式数据库,是关系数据库,以存放I/O通道配置信息,包括I/O通道功能定义、I/o设备定义、I/O端口引脚定义。
[0008]数据库访问对象,以把嵌入式数据库中的数据库I/o配置信息导入到I/O通道管理对象。
[0009]I/O通道管理对象,以管理I/O通道对象信息和创建I/O通道对象。在创建I/O通道对象时,调用模块把I/o通道功能定义作为参数传到I/O通道管理对象,根据从嵌入式数据库中得到的I/o通道的功能定义与I/O设备定义以及I/O端口引脚定义的三者对应关系,I/O通道管理对象找到对应的I/O设备以及其具体电气输入/输出逻辑地址对应,进而返回相应设备的I/O通道对象。
[0010]I/O通道对象,调用模块通过使用I/O通道对象,控制相对应的数字量I/O控制设备I/o点。
[0011 ] 驱动接口对象,以封装I/O设备驱动模块的驱动函数,提供对各类I/O设备的数字量读写统一访问格式。I/O设备驱动模块由设备厂商所提供,不同厂家通常I/O设备驱动模块不同。
[0012]与现有技术相比,该系统具有如下优点:
[0013]调用模块通过I/O控制模块间接访问I/O设备驱动模块,调用模块与数字量的功能定义相关,与I/O设备驱动模块无关,与数字量I/O设备的具体电气对应点位无关,达到了通用性和可维护性。
[0014]I/O控制模块采用嵌入式数据库保存I/O通道配置信息。相较于采用文本方式保存方式相比,易于维护和访问。
[0015]本发明的目的之二是提供一种数字量I/O控制方法,该控制方法易于操作。
[0016]本发明的上述目的通过如下技术方案来实现的:一种数字量I/O控制方法,包括如下步骤:
[0017]步骤1,先建立嵌入式数据库里的I/O配置信息表,把系统的I/O通道功能定义、I/o设备定义、I/O端口引脚定义等参数设置完整;
[0018]步骤2,初始化I/O控制模块,数据库I/O配置信息通过数据库访问单元被导入I/O通道管理对象,为下一步I/O通道对象的创建做准备;
[0019]步骤3,调用模块根据应用需求,以I/O通道功能定义作为输入条件,调用I/O通道管理对象的CreateDOChannel O方法和CreateDIChannelO方法,得到相应的I/O通道对象DOChannel和DIChannel ;输入对象DIChannel具有读I/O功能;输出对象DOChannel具有与功能;
[0020]步骤4,应用程序通过DIChannel的Read O方法和DOChannel的Write O方法,对I/O实施读写操作。
【附图说明】
[0021]下面结合附图和具体实施例对本发明作进一步的详细说明。
[0022]图1为本发明系统的较佳实施例的硬件架构图;
[0023]图2为本发明系统的软件结构图;
[0024]图3为本发明系统的软件UML图
[0025]图4为本发明方法的流程图。
【具体实施方式】
[0026]如图1所示,是本发明的系统本发明系统的较佳实施例的硬件架构图。该系统运行于工控机I中。工控机I由显示器、主机、鼠标以及键盘组成。工控机采用微软公司的视窗操作系统或Unit操作系统。数字量I/O控制设备2是用于实现数字量输入输出控制功能的设备,包括各种数字量I/O采集板卡、分布式I/O模块等。数字量I/O元器件3是数字量I/O控制设备的作用对象。
[0027]所述系统包括:调用模块,用于通过应用程序获取I/O通道对象,以实现对数字量I/o信号的控制;1/0控制模块,用于管理、创建和访问I/O通道对象,调用I/O设备驱动模块提供的驱动函数;1/0设备驱动模块,提供驱动函数,以实现对数字量I/O设备的具体控制。
[0028]I/O控制模块,包括数据库访问对象、嵌入式数据库、I/O通道管理对象、I/O通道对象、以及驱动接口对象。
[0029]I)嵌入式数据库,是关系数据库,以存放I/O通道配置信息,包括I/O通道功能定义、I/o设备定义、I/O端口引脚定义。
[0030]2)数据库访问对象,以把嵌入式数据库中的数据库I/O配置信息导入到I/O通道管理对象。
[0031]3) I/O通道管理对象,以管理I/O通道对象信息和创建I/O通道对象。在创建I/O通道对象时,调用模块把I/O通道功能定义作为参数传到I/O通道管理对象,根据从嵌入式数据库中得到的I/O通道的功能定义与I/O设备定义以及I/O端口引脚定义的三者对应关系,I/O通道管理对象找到对应的I/O设备以及其具体电气输入/输出逻辑地址对应,进而返回相应设备的I/o通道对象。
[0032]4) I/O通道对象,调用模块通过使用I/O通道对象,控制相对应的数字量I/O控制设备I/o点。
[0033]5)驱动接口对象,以封装I/O设备驱动模块的驱动函数,提供对各类I/O设备的数字量读写统一访问格式。I/O设备驱动模块由设备厂商所提供,不同厂家通常I/O设备驱动模块不同。
[0034]如图3所示,本发明的数字量I/O控制方法,包括如下步骤:
[0035]步骤1,先建立嵌入式数据库里的I/O配置信息表,把系统的I/O通道功能定义、I/o设备定义、I/O端口引脚定义等参数设置完整;
[0036]步骤2,初始化I/O控制模块,数据库I/O配置信息通过数据库访问单元被导入I/O通道管理对象,为下一步I/O通道对象的创建做准备;
[0037]步骤3,调用模块根据应用需求,以I/O通道功能定义作为输入条件,调用I/O通道管理对象的CreateDOChannel O方法和CreateDIChannelO方法,得到相应的I/O通道对象DOChannel和DIChannel ;输入对象DIChannel具有读I/O功能;输出对象DOChannel具有与功能;
[0038]步骤4,应用程序通过DIChannel的Read O方法和DOChannel的Write O方法,对I/O实施读写操作。
[0039]本发明的实施方式不限于此,凡此种种根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,对本发明上述结构做出的其它多种形式的修改、替换或变更,均应落在本发明的保护范围之内。
【主权项】
1.一种数字量I/o控制系统,所述系统包括:调用模块,用于通过应用程序获取I/O通道对象,以实现对数字量I/o信号的控制;1/0控制模块,用于管理、创建和访问I/O通道对象,调用I/o设备驱动模块提供的驱动函数;1/0设备驱动模块,提供驱动函数,以实现对数字量I/o设备的具体控制。2.根据权利要求1所述的数字量I/O控制系统,其特征在于: 所述的I/o控制模块包括数据库访问对象、嵌入式数据库、I/o通道管理对象、I/O通道对象、以及驱动接口对象; 其中,嵌入式数据库,是关系数据库,以存放I/o通道配置信息,包括I/O通道功能定义、I/o设备定义、I/O端口引脚定义; 数据库访问对象,以把嵌入式数据库中的数据库I/o配置信息导入到I/O通道管理对象; I/O通道管理对象,以管理I/O通道对象信息和创建I/O通道对象;在创建I/O通道对象时,调用模块把I/o通道功能定义作为参数传到I/O通道管理对象,根据从嵌入式数据库中得到的I/o通道的功能定义与I/O设备定义以及I/O端口引脚定义的三者对应关系,I/O通道管理对象找到对应的I/O设备以及其具体电气输入/输出逻辑地址对应,进而返回相应设备的I/o通道对象; I/O通道对象,调用模块通过使用I/O通道对象,控制相对应的数字量I/O控制设备I/O点; 驱动接口对象,以封装I/o设备驱动模块的驱动函数,提供对各类I/O设备的数字量读写统一访问格式;1/0设备驱动模块由设备厂商所提供,不同厂家通常I/O设备驱动模块不同。3.一种数字量I/O控制方法,包括如下步骤: 步骤1,先建立嵌入式数据库里的I/o配置信息表,把系统的I/O通道功能定义、I/O设备定义、I/O端口引脚定义等参数设置完整; 步骤2,初始化I/O控制模块,数据库I/O配置信息通过数据库访问单元被导入I/O通道管理对象,为下一步I/O通道对象的创建做准备; 步骤3,调用模块根据应用需求,以I/O通道功能定义作为输入条件,调用I/O通道管理对象的CreateDOChannelO方法和CreateDIChannelO方法,得到相应的I/O通道对象DOChannel和DIChannel ;输入对象DIChannel具有读I/O功能;输出对象DOChannel具有与功能; 步骤4,应用程序通过DIChannel的ReadO方法和DOChannel的WriteO方法,对I/O实施读写操作。
【专利摘要】本发明公开了一种数字量I/O控制系统和方法,该系统包括:调用模块,用于通过应用程序获取I/O通道对象,以实现对数字量I/O信号的控制;I/O控制模块,用于管理、创建和访问I/O通道对象,调用I/O设备驱动模块提供的驱动函数;I/O设备驱动模块,提供驱动函数,以实现对数字量I/O设备的具体控制。本发明同时公开了一种数字量I/O控制方法。
【IPC分类】G05B19/042
【公开号】CN105425664
【申请号】CN201510762867
【发明人】黄维佳, 任海, 白龙飞, 党增军
【申请人】广州电器科学研究院
【公开日】2016年3月23日
【申请日】2015年11月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1