专利名称:一种组态软件数据库中数据点下标自动排列生成方法
一种组态软件数据库中数据点下标自动排列生成方法技术领域:
本发明涉及工业自动化软件技术领域,尤其涉及一种组态软件数据库中数据点下标自动排列生成方法。背景技术:
在工业控制系统中,工业现场存在成千上万个测量和控制点。每一个数据点都对应着唯一的标签名,人们通过定义数据点的标签名来组织和建立硬件之间的关系。控制系统中各种控制量,包括模拟量、数字量都必须存在这种对应关系,系统的控制和运行情况就反映在这些数据点的标签名对应的实时数据的变化上。因此,数据点标签名定义的准确性和有效性直接影响到整个系统的控制效果和组态软件的性能。通常数据点的标签名都采用统一的数据形式,一般由字符标识与数字下标组成。其中,字符标识主要用于数据点的描述,可以记录数据点的特征及其所属系统的相关信息,数字下标则是用于对各个数据点进行编号,从而避免数据库中的数据点标签名重复。分布式控制系统中组态软件设置有数据点的数据类型和系统编码区,该系统编码区分为多个区域,是对工程中所涉及到的设备进行的一个系统编码,该编码为业内定义的标准字符码,即用于区分各硬件设备的名称。
目前,数据点标签名的下标大多采用手工编号的方法,部分下标甚至根据工程师的经验来标识。这种手工编号方法常见的现象有(1)工作量繁琐,操作效率低下;(2)容易出错,特别是在大型复杂工业控制系统中,数据点标签名定义的准确性难以保证。这些现象不仅加大了建立控制系统的工作量,制约了组态软件的自动化水平,而且也增加了控制系统数据管理和监控的风险,影响到控制过程的各个环节。
发明内容
本发明要解决的技术问题,在于提供一种组态软件数据库中数据点下标自动排列生成方法,提高工程数据点标签名定义的准确性,减少控制系统建设的工作量,提高组态软件的自动化水平。
本发明是这样实现的一种组态软件数据库中数据点下标自动排列生成方法,将工程中所需的数据点按实际设备进行分类,并为各数据点设置一个标签名,所述标签名的基本属性包括系统编码、数据类型、下标;一种数据类型包含多个数据点;并根据实际设备对各数据点对应的标签名中的系统编码和数据类型进行赋值;并完成全局的数据点的下标的自动排列生成,即通过逐一扫描每一个数据点对应的标签名的基本属性,将各数据点定位到分布式控制系统中的系统编码区,并将各数据点与所在的系统编码区中的已编号的数据点进行逐个比较来完成全局的数据点下标的自动编号和排序。
进一步地,所述数据点类型包括模拟量输入信号类型Al、模拟量输出信号类型 A0、数字量输入信号类型D1、数字量输出信号类型D0、中间模拟量类型LA、中间数字量类型 LD、量程范围为(Γ4095的设定值LAY、量程范围值为_32768 32767的设定值LAZ、 脉冲型输入LDY、保持型输入LDZ。
进一步地,所述根据实际设备对各数据点对应的标签名中的系统编码和数据类型 进行赋值具体为根据工程的实际情况来确定各个实际设备包含的数据点的个数及各数据 点的数据类型,确定各数据点的数据类型值后将其赋值给各数据点对应的标签名中的数据 类型;并将各数据点按实际设备需求封装为抽象的设备对象,对所有设备对象按顺序进行 编号,每个设备对象对应一个唯一的编号;根据各实际设备所属的分布式控制系统中的系 统编码区的区域设定相应的系统编码值,每个实际设备所包含的所有数据点对应的标签名 中的系统编码均继承相应的系统编码值。
进一步地,所述完成全局的数据点的下标的自动排列生成,具体包括如下步骤
步骤11、按照所述各设备对象的编号的顺序,依次读取工程中每个实际设备对应 的数据点,对各数据点对应的标签名中的下标进行初始化操作;
步骤12、依次读取各数据点,查找并定位到数据点所在分布式控制系统的系统编 码区,即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码与系统 编码区的区域的系统编码值是否一致;是,则进入步骤13 ;否,则查找下一个区域,继续比 较和判断二者是否一致;
步骤13、将一致的数据点与该数据点所在的区域中所有标签名下标已编号的数据 点进行逐个比较,判断标签名的数据类型是否相同;相同,则将该数据点的标签名的下标值 设置为在相同的数据类型里未被其它数据点使用的最小下标值;并将得到下标值的数据点 存于所在的区域中,进入步骤14 ;不相同,则与下一个下标已编号的数据点进行比较并判 断标签名的数据类型是否相同;
步骤14、读取下一个实际设备对应的各数据点,按照所述步骤12至步骤13的方式 完成工程中所有数据点对应的标签名下标的编号,从而完成全局的数据点的下标的自动排 列生成。
进一步地,所述方法能完成局部的数据点的下标的自动排列生成,所述局部的数 据点为用户选择需要进行下标编号的数据点的范围,即指定数据点的系统编码和数据类型 后得到的范围。
进一步地,所述方法能完成局部的数据点的下标的自动排列生成,具体包括如下 步骤
步骤21、用户选择需要进行下标编号的数据点范围,即指定数据点的系统编码和 数据类型;
步骤22、按照所述各设备对象的编号顺序,读取所述数据点范围内所有的需要进 行下标编号的各数据点,对各数据点对应的标签名中的下标进行初始化操作;
步骤23、依次读取各数据点,查找并定位读取到的数据点所在分布式控制系统的 系统编码区,即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码 与系统编码区的区域的系统编码值是否一致;是,则进入步骤24 ;否,则查找下一个区域, 继续比较和判断二者是否一致;
步骤24、将一致的数据点与该数据点所在的区域中所有标签名下标已编号的数据 点进行逐个比较,判断标签名的数据类型是否相同;相同,则将该数据点的标签名的下标值 设置为在相同的数据类型里未被其它数据点使用的最小下标值;并将得到下标值的数据点 存于所在的区域中,进入步骤25;不相同,则与下一个下标已编号的数据点进行比较并判断标签名的数据类型是否相同;
步骤25、按照步骤23至步骤24的方式对所述数据点范围内所有数据点对应的标签名中下标进行编号,从而完成局部的数据点的下标的自动排列生成。
本发明具有如下优点1、本发明提供的组态软件数据库中数据点下标自动排列生成方法,将数据点封装成设备对象,按照设备对象顺序对数据点进行编号,能够确保对每一个数据点标签名进行定义,避免发生遗漏的现象。
2、采用特定的数据点标签名组织形式,通过系统地搜索所有数据点,根据比较数据点标签名的属性值来完成下标的自动编号,操作极为方便,大大提高了数据点标签名定义的效率和准确性。
3、能够根据用户的需要,针对指定范围内的数据点下标进行局部自动编号,操作灵活,有利于控制系统建设的调整和优化。
图1为本发明中各数据点的分类及其数据点标签名的组织方式的示意图。
图2是本发明全局的数据点的下标的自动排列生成的流程示意图。
图3是本发明局部的数据点的下标的自动排列生成的流程示意图。
具体实施方式
请参阅图1至图3所示,本发明的一种组态软件数据库中数据点下标自动排列生成方法,将工程中所需的数据点按实际设备进行分类,并为各数据点设置一个标签名,所述标签名的基本属性包括系统编码、数据类型、下标;一种数据类型包含多个数据点;并根据各实际设备对各数据点对应的标签名中的系统编码和数据类型进行赋值;具体为根据工程的实际情况来确定各个实际设备包含的数据点的个数及各数据点的数据类型,确定各数据点的数据类型值后将其赋值给各数据点对应的标签名中的数据类型;并将各数据点按实际设备需求封装为抽象的设备对象,对所有设备对象按顺序进行编号,每个设备对象对应一个唯一的编号;根据各实际设备所属的分布式控制系统中的系统编码区的区域(请参见背景技术中描述的系统编码区的区域)进行设定相应的系统编码值,每个实际设备所包含的所有数据点对应的标签名中的系统编码均继承相应的系统编码值;
并完成全局的数据点的下标的自动排列生成(该全局的数据点即为工程中所需的全部的数据点),即通过逐一扫描每一个数据点对应的标签名的基本属性,将各数据点定位到分布式控制系统中的系统编码区,并将各数据点与所在的系统编码区中的已编号的数据点进行逐个比较来完成全局的数据点下标的自动编号和排序,其 具体包括如下步骤
步骤11、按照所述各设备对象的编号的顺序,依次读取工程中每个实际设备对应的各数据点,对各数据点对应的标签名中的下标进行初始化操作;
步骤12、依次读取各数据点,查找并定位读取到的数据点所在分布式控制系统的系统编码区,即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码与系统编码区的区域的系统编码值是否一致;是,则进入步骤13 ;否,则查找下一个区域, 继续比较和判断二者是否一致;
步骤13、将一致的数据点与该数据点所在的区域中所有标签名的下标已编号的数据点进行逐个比较,判断数据点标签名的数据类型是否相同(即判断一致的数据点的标签名的数据类型与在进行比较的下标已编号的数据点的数据类型是否相同);相同,则将该数据点的标签名的下标值设置为在相同的数据类型里未被其它数据点使用的最小下标值(在一区域中,相同的数据类型的数据点的下标值是按大小进行分配的,即最小下标值是未被使用的下标值中最小的一个,如下标1、2、3、4,下标1、2被使用了,3、4未被使用,则最小的下标值为3,如果前面被标记过的下标值被人手动删除了,则自动生成时会把这个删除的位置给补上);并将得到下标值的数据点存于所在的区域中,进入步骤14 ;不相同,则与下一下标已编号的数据点进行比较和判断标签名的数据类型是否相同;
步骤14、读取下一个实际设备对应的各数据点按照所述步骤12至步骤13的方式完成工程中所需的各实际设备对应的各数据点对应的标签名下标的编号,从而完成全局的数据点的下标的自动排列生成。
上述具体步骤11至步骤14的过程的主要原理即是通过地毯式地扫描每一个数据点的标签名属性,通过确定数据点所在的分布式控制系统的系统编码的区域,比较其数据类型来完成自动编号和排序。这种方法在新建工程时使用既准确又方便,能够大大节省数据点下标编号的工作量。
其中,所述数据点类型包括模拟量输入信号类型Al、模拟量输出信号类型A0、数字量输入信号类型D1、数字量输出信号类型D0、中间模拟量类型LA、中间数字量类型LD、量程范围为(Γ4095的设定值LAY、量程范围值为-32768 32767的设定值LAZ、脉冲型输入LDY (一般为4s脉冲)、保持型输入LDZ (保持型按钮一般恒为I或恒为O)。
另外,所述方法能完成局部的数据点的下标的自动排列生成,所述局部的数据点为用户选择需要进行下标编号的数据点的范围,即指定数据点的系统编码和数据类型后得到的范围。该方法能完成局部的数据点的下标的自动排列生成,具体包括如下步骤
步骤21、用户选择需要进行下标编号的数据点范围,即指定数据点的系统编码和数据类型;
步骤22、按照所述各设备对象的编号顺序,读取所述数据点范围内所有的需要进行下标编号的各数据点,对各数据点对应的标签名中的下标进行初始化操作;
步骤23、依次读取各数据点,查找并定位读取到的数据点所在分布式控制系统的系统编码区,即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码与系统编码区的区域的系统编码值是否一致;是,则进入步骤24 ;否,则查找下一个区域, 继续比较和判断二者是否一致;
步骤24、将一致的数据点与该数据点所在的区域中所有标签名的下标已编号的数据点进行逐个比较,判断标签名的数据类型是否相同(即判断一致的数据点的标签名的数据类型与在进行比较的下标已编号的数据点的数据类型是否相同);相同,则将该数据点的标签名的下标值设置为在相同的数据类型里未被其它数据点使用的最小下标值;并将得到下标值的数据点存于所在的区域中,进入步骤25;不相同,则与下一下标已编号的数据点进行比较并判断标签名的数据类型是否相同;
步骤25、按照步骤23至步骤24的方式对所述数据点范围内所有数据点对应的标签名中下标进行编号,从而完成局部的数据点的下标的自动排列生成。
上述具体步骤21至步骤25的过程的特点在于用户能够根据实际需要,选择某个分布式控制系统范围下若干种数据类型的数据点,完成该若干种数据类型的数据点下标的 自动生成。这一功能为控制系统的新增和修改带来了很大的便利。
总之,本发明提供的组态软件数据库中数据点下标自动排列生成方法,将数据点 封装成设备对象,按照设备对象顺序对数据点进行编号,能够确保对每一个数据点的标签 名进行定义,避免发生遗漏的现象;采用特定的数据点标签名组织形式,通过系统地搜索所 有数据点,根据比较数据点标签名的属性值来完成下标的自动编号,操作极为方便,大大提 高了数据点标签名定义的效率和准确性;能够根据用户的需要,针对指定范围内的数据点 下标进行局部自动编号,操作灵活,有利于控制系统建设的调整和优化。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与 修饰,皆应属本发明的涵盖范围。
权利要求
1.一种组态软件数据库中数据点下标自动排列生成方法,其特征在于将工程中所需的数据点按实际设备进行分类,并为各数据点设置一个标签名,所述标签名的基本属性包括系统编码、数据类型、下标;一种数据类型包含多个数据点;根据实际设备对各数据点标签名中的系统编码和数据类型进行赋值;并完成全局的数据点的下标的自动排列生成,即通过逐一扫描每一个数据点对应的标签名的基本属性,将各数据点定位到分布式控制系统中的系统编码区,并将各数据点与其所在的系统编码区中的已编号的数据点进行逐个比较来完成全局的数据点下标的自动编号和排序。
2.根据权利要求1所述的一种组态软件数据库中数据点下标自动排列生成方法,其特征在于所述数据点类型包括模拟量输入信号类型Al、模拟量输出信号类型A0、数字量输入信号类型D1、数字量输出信号类型D0、中间模拟量类型LA、中间数字量类型LD、量程范围为(Γ4095的设定值LAY、量程范围值为-32768 32767的设定值LAZ、脉冲型输入LDY、保持型输入LDZ。
3.根据权利要求1所述的一种组态软件数据库中数据点下标自动排列生成方法,其特征在于所述根据实际设备对各数据点标签名中的系统编码和数据类型进行赋值具体为 根据工程的实际情况来确定各实际设备包含的数据点的个数及各数据点的数据类型,确定各数据点的数据类型值后将其赋值给各数据点标签名中的数据类型;并将各数据点按实际设备需求封装为抽象的设备对象,对所有设备对象按顺序进行编号,每个设备对象对应一个唯一的编号;对各实际设备所属的分布式控制系统中的系统编码区的区域设定相应的系统编码值,每个实际设备所包含的所有数据点对应的标签名中的系统编码均继承相应的系统编码值。
4.根据权利要求3所述的一种组态软件数据库中数据点下标自动排列生成方法,其特征在于所述完成全局的数据点的下标的自动排列生成,具体包括如下步骤步骤11、按照所述各设备对象的编号的顺序,依次读取工程中每个实际设备对应的数据点,对各数据点对应的标签名中的下标进行初始化操作;步骤12、依次读取各数据点,查找并定位到数据点所在分布式控制系统的系统编码区, 即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码与系统编码区的区域的系统编码值是否一致;是,则进入步骤13 ;否,则查找下一个区域,继续比较和判断二者是否一致;步骤13、将一致的数据点与该数据点所在的区域中所有标签名的下标已编号的数据点进行逐个比较,判断标签名的数据类型是否相同;相同,则将该数据点的标签名的下标值设置为在相同的数据类型里未被其它数据点使用的最小下标值;并将得到下标值的数据点存于所在的区域中,进入步骤14;不相同,则与下一个下标已编号的数据点进行比较并判断标签名的数据类型是否相同;步骤14、读取下一个实际设备对应的各数据点,按照所述步骤12至步骤13的方式完成工程中所有数据点对应的标签名下标的编号,从而完成全局的数据点的下标的自动排列生成。
5.根据权利要求3所述的一种组态软件数据库中数据点下标自动排列生成方法,其特征在于所述方法能完成局部的数据点的下标的自动排列生成,所述局部的数据点为用户选择的需要进行下标编号的数据点范围,即指定数据点的系统编码和数据类型后得到的范
6.根据权利要求5所述的一种组态软件数据库中数据点下标自动排列生成方法,其特征在于所述方法能完成局部的数据点的下标的自动排列生成,具体包括如下步骤步骤21、用户选择需要进行下标编号的数据点范围,即指定数据点的系统编码和数据类型;步骤22、按照所述各设备对象的编号顺序,读取所述数据点范围内所有需要进行下标编号的数据点,对各数据点对应的标签名中的下标进行初始化操作;步骤23、依次读取各数据点,查找并定位读取到的数据点所在分布式控制系统的系统编码区,即逐个搜索系统编码区的区域,判断读取到的数据点的标签名中的系统编码与系统编码区的区域的系统编码值是否一致;是,则进入步骤24 ;否,则查找下一个区域,继续比较和判断二者是否一致;步骤24、将一致的数据点与该数据点所在的区域中所有标签名下标已编号的数据点进行逐个比较,判断数据点标签名的数据类型是否相同;相同,则将该数据点的标签名的下标值设置为在相同的数据类型里未被其它数据点使用的最小下标值;并将得到下标值的数据点存于所在的区域中,进入步骤25;不相同,则与下一个下标已编号的数据点进行比较并判断标签名的数据类型是否相同;步骤25、按照步骤23至步骤24的方式对所述数据点范围内的所有数据点对应的标签名下标进行编号,从而完成局部的数据点的下标的自动排列生成。
全文摘要
本发明提供一种组态软件数据库中数据点下标自动排列生成方法,将工程中所需的数据点按实际设备进行分类,并为各数据点设置一个标签名,根据实际设备对各数据点标签名中的系统编码和数据类型进行赋值;并完成各数据点下标的自动排列生成,即通过逐一扫描每一个数据点对应的标签名的基本属性,将各数据点定位到分布式控制系统中的系统编码区,并将各数据点与其所在的系统编码区中已编号的数据点进行逐个比较来完成数据点下标的自动编号和排序。本发明有效地提高了工程数据点标签名定义的准确性,减少了控制系统建设的工作量,提高了组态软件的自动化水平。
文档编号G06F17/30GK103049545SQ20121057871
公开日2013年4月17日 申请日期2012年12月27日 优先权日2012年12月27日
发明者郑松, 卢定兴, 陈艺宾, 江丹玲, 张望, 李国政 申请人:福州福大自动化科技有限公司