控制设备现场模拟图形处理系统及方法
【技术领域】
[0001]本发明涉及图形显示领域,更具体地说,涉及一种控制设备现场模拟图形处理系统及方法。
【背景技术】
[0002]目前,在工业控制设备的后台软件中,一般通过相对比较直观的图形,来模拟现场设备组态方式或网络拓扑,并且该后台软件中还可以通过图形方式对相关的被控设备进行组态编辑。如图1所示,在现有的控制系统的后台软件中,无论设备组态中有多少机架12,每个机架12上有多少设备11,都会在内存中统一绘制出来,然后根据系统进行坐标系转换,最后在屏蒂的图形显不窗口 10的相应位置显不对应的设备。
[0003]然而,控制系统中的设备的拓扑结构往往是变化的,因此随着设备11的增多,设备拓扑图会越来越大,这样会引出以下两个问题:
[0004](I)需要更大的内存来装载拓扑图,并进行显示,如果用户不断对设备组态进行编辑,拓扑图就需要不断刷新,而不停的刷新会导致频繁的向系统申请大内存,其结果必然会产生过多的内存碎片而很可能导致最终内存申请失败;
[0005](2)在设备数量很多的情况下,如果用户编辑了组态拓扑结构,那么拓扑图会存在刷新慢的问题,如此用户体验将大大降低。
【发明内容】
[0006]本发明要解决的技术问题在于,针对上述控制系统中现场模拟图形显示占用内存大、刷新慢的问题,提供一种控制设备现场模拟图形处理系统。
[0007]本发明解决上述技术问题的技术方案是,提供一种控制设备现场模拟图形处理系统,所述现场模拟图形保存在缓冲区中,该系统包括滚动条计算单元、位置判断单元以及图形载入单元,其中:所述滚动条计算单元,用于计算图形显示窗口的水平滚动条的位置、垂直滚动条的位置、所述图形显示窗口的高度和宽度;所述位置判断单元,用于根据所述水平滚动条的位置、垂直滚动条的位置、图形显示窗口的高度和宽度,判断所述现场模拟图形是否位于图形显示窗口中;所述图形载入单元,用于在确认所述现场模拟图形位于图形显示窗口中时,将所述现场模拟图形载入到所述图形显示窗口中显示。
[0008]在本发明所述的控制设备现场模拟图形处理系统中,所述位置判断单元包括纵向判断子单元及高度判断子单元,其中:所述纵向判断子单元用于判断所述现场模拟图形的左上角位置的纵坐标与该现场模拟图形的高度之和是否大于或等于垂直滚动条的纵坐标,并在两者之和大于或等于垂直滚动条的纵坐标时,确认所述现场模拟图形位于图形显示窗口中;所述高度判断子单元,用于在所述现场模拟图形的左上角位置的纵坐标与该现场模拟图形的高度之和小于垂直滚动条的纵坐标时,判断所述现场模拟图形左上角位置的纵坐标与垂直滚动条的纵坐标之差是否小于或等于图形显示窗口的高度,并在两者之差小于或等于图形显示窗口的高度时,确认所述现场模拟图形位于图形显示窗口中。
[0009]在本发明所述的控制设备现场模拟图形处理系统中,所述位置判断单元包括横向判断子单元及宽度判断子单元,其中:所述横向判断子单元,用于判断所述现场模拟图形左上角的横坐标与该现场模拟图形的宽度之和是否大于或等于水平滚动条的横坐标,并在两者之和大于或等于水平滚动条的横坐标时,确认所述现场模拟图形位于图形显示窗口中;所述宽度判断子单元,用于在所述现场模拟图形的左上角位置的横坐标与该现场模拟图形的宽度之和小于水平滚动条的横坐标时,判断所述现场模拟图形左上角位置的横坐标与水平滚动条的横坐标之差是否小于或等于图形显示窗口的宽度,并在两者之差小于或等于图形显示窗口的宽度时,确认所述现场模拟图形位于图形显示窗口中。
[0010]在本发明所述的控制设备现场模拟图形处理系统中,所述图形载入单元包括坐标转换子单元、图形绘制子单元、图形显示子单元,其中:所述坐标转换子单元,用于将所述现场模拟图形的逻辑坐标转换为物理坐标,所述物理坐标以图形显示窗口的左上角为原点;所述图形绘制子单元,用于在所述图形显示窗口的原点位置绘制所述现场模拟图形;所述图形显示子单元,用于将所述现场模拟图形的物理坐标恢复为逻辑坐标并在图形显示窗口显不O
[0011]在本发明所述的控制设备现场模拟图形处理系统中,所述图形载入单元,用于在缓冲区中的所有现场模拟图形均判断完毕后,将对应的现场模拟图形载入到所述图形显示窗口中显示。
[0012]本发明还提供一种控制设备现场模拟图形处理方法,所述现场模拟图形保存在缓冲区中,包括以下步骤:
[0013](a)计算图形显示窗口的水平滚动条的位置、垂直滚动条的位置、所述图形显示窗口的高度和宽度;
[0014](b)根据所述水平滚动条的位置、垂直滚动条的位置、图形显示窗口的高度和宽度,判断所述现场模拟图形是否位于图形显示窗口中,并在所述现场模拟图形位于图形显示窗口中时执行步骤(C),否则放弃该现场模拟图形的载入;
[0015](C)将所述现场模拟图形载入到所述图形显示窗口中显示。
[0016]在本发明所述的控制设备现场模拟图形处理方法中,所述步骤(b)包括:
[0017](bl)判断所述现场模拟图形的左上角位置的纵坐标与该现场模拟图形的高度之和是否小于垂直滚动条的纵坐标,若两者之和小于垂直滚动条的纵坐标,则执行步骤(b2),否则执行步骤(c);
[0018](b2)判断所述现场模拟图形左上角位置的纵坐标与垂直滚动条的纵坐标之差是否大于图形显示窗口的高度,若两者之差大于图形显示窗口的高度,则放弃该现场模拟图形的绘制,否则执行步骤(C)。
[0019]在本发明所述的控制设备现场模拟图形处理方法中,所述步骤(b)包括:
[0020](b3)判断所述现场模拟图形左上角的横坐标与该现场模拟图形的宽度之和是否小于水平滚动条的横坐标,若两者之和小于水平滚动条的横坐标,则执行步骤(b4),否则执行步骤(C);
[0021](b4)判断所述现场模拟图形左上角位置的横坐标与水平滚动条的横坐标之差是否大于图形显示窗口的宽度,若两者之差大于图形显示窗口的宽度,则放弃该现场模拟图形的绘制,否则执行步骤(C)。
[0022]在本发明所述的控制设备现场模拟图形处理方法中,所述步骤(C)包括:
[0023](Cl)将所述现场模拟图形的逻辑坐标转换为物理坐标,所述物理坐标以图形显示窗口的左上角为原点;
[0024](c2)在所述图形显示窗口的原点位置绘制所述现场模拟图形;
[0025](c3)将所述现场模拟图形的物理坐标恢复为逻辑坐标并在图形显示窗口显示。
[0026]在本发明所述的控制设备现场模拟图形处理方法中,所述步骤(C)在保存于缓冲区中的所有现场模拟图形均判断完毕后执行。
[0027]本发明的控制设备现场模拟图形处理系统及方法,根据滚动条位置判断现场模拟图形是否位于图形显示窗口,并根据判断结果载入现场模拟图形,从而减少了内存的使用,提高了用户体验。
【附图说明】
[0028]图1是控制设备中现场模拟图形显示的示意图。
[0029]图2是本发明控制设备现场模拟图形处理系统实施例的示意图。
[0030]图3是图2中位置判断单元的示意图。
[0031]图4是图2中图形载入单元的示意图。
[0032]图5是本发明控制设备现场模拟图形处理方法实施例的流程示意图。
【具体实施方式】
[0033]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0034]如图2所示,是本发明控制设备现场模拟图形处理系统实施例的示意图,其可集成到PLC等控制设备的后台软件,以进行设备、机架等现场模拟图形显示。上述现场模拟图形保存在控制设备的缓冲区中,本实施例中的现场模拟图形处理系统包括滚动条计算单元21、位置判断单元22以及图形载入单元23,上述滚动条计算单元21、位置判断单元22以及图形载入单元23可通过集成到控制设备的软件实现。
[0035]滚动条计算单元21用于计算图形显示窗口的水平滚动条的位置、垂直滚动条的位置、图形显示窗口的高度和宽度。通过上述水平滚动条的位置、垂直滚动条的位置、图形显示窗口的高度和宽度,可获知图形显示窗口的显示区域。
[0036]位置判断单元22用于根据水平滚动条的位置、垂直滚动条的位置、图形显示窗口的高度和宽度,判断现场模拟图形是否位于图形显示窗口中。具体地,位置判断单元22可通过现场模拟图形的逻辑坐标来判断该现场模拟图形是否位于图形显示窗口中。
[0037]图形载入单元23用于在确认现场模拟图形位于图形显示窗口中时,将现场模拟图形载入到图形显示窗口中显示。具体地,图形载入单元23将缓冲区中对应的现场模拟图形载入内存,然后绘制到图形显示窗口中。
[0038]上述控制设备现场模拟图形处理系统根据滚动条位置,判断现场模拟图形是否位于图形显示窗口,并根据判断结果载入现场模拟图形,从而减少了内存的使用,提高了用户体验。
[0039]由于现场模拟图形本身占据一定的面积,因此该现场模拟图形是否位于图形显示窗口需综合判断。具体地,如图3所示,上述位置判断单元22包括纵向判断子单元221及高度判断子单元222,其中:纵向判断子单元221用于判断现场模拟图形的左上角位置的纵坐标与该现场模拟图形的高度之和是否大于或等于垂直滚动条的纵坐标,并在两者之和大于或等于垂直滚动条的纵坐标时,确认现场模拟图形位于图形显示窗口中,从而由图形载入单元23将该现场模拟图形载入到图形显示窗口。
[0040]高度判断子单元222用于在现场模拟图形的左上角位置的纵坐标与该现场模拟图形的高度之和小于垂直滚动条的纵坐标时,进一步判断该现场模拟图形左上角位置的纵坐标与垂直滚动条的纵坐标之差是否小于或等于图形显示窗口的高度,并在两者之差小于或等于图形显示窗口的高度时,确认该现场模拟图形位于图形显示窗口中,从而由图形载入单元23将该现场模拟图形载入到图形显示窗口 ;若两者之差大于图形显示窗口的高度,则放弃载入该现场模拟图形。
[0041]上述位置判断单元22还可包括横向判断子单元223及宽度判断子单元224,其中横向判断子单元223用于判断现场模拟图形左上角的横坐标与该现场模拟图形的