一种表格循环显示批量数据的方法与流程

文档序号:30577477发布日期:2022-06-29 10:08阅读:130来源:国知局

1.本发明属于自动化控制领域,特别是指一种表格循环显示批量数据的方法。


背景技术:

2.工业自动化控制系统中的人机交互界面(hmi)需要显示温度、压力等模拟信号和启动、停止等数字信号。这些信号的个数从几个、几十个到上百个不等。将几个信号显示到操作屏中时,仅仅需要几个显示数值控件进行一一对应即可实现,且只需要一个显示画面。但是当需要想显示几十个甚至上百个信号时,依旧采用显示数值控件进行一一对应时不仅增加了开发人员的工作量,而且增加了操作屏与plc之间的数据传输量,而且需要几个画面才能显示全部的信号,缺少灵活性。


技术实现要素:

3.本发明要解决的技术问题是:提供一种表格循环显示批量数据的方法,能够实现大批量信号在操作屏上循环显示,减少操作屏的画面数量与通讯数据量,降低开发人员的工作量,增加数据显示的灵活性。
4.本发明提供的一种表格循环显示批量数据的方法,包括以下步骤:
5.步骤1,为待显示信号定义一个由该信号的几个基本属性构成的结构体数据类型,命名为data_struct;再定义一个显示结构体数据类型,命名为disp_struct。
6.步骤2,以data_struct为元素类型构建一个数据数组,命名为data_array,该数据数组为plc控制系统的模拟量输入信号的缓存区;同样,构建一个显示数组,命名为disp_array,该数组为操作屏上显示表格的缓存区。
7.步骤3,在循环显示程序中定义一个整数型数据类型变量,命名为disp_no。
8.步骤4,以disp_array中第0个元素为基准,查看data_array中第disp_no个元素的“显示允许”属性;如果“显示允许”属性为真,则将data_array中第disp_no个元素的数据内容赋值给disp_array中第0个元素。
9.步骤5,如果“显示允许”属性为假,则查看data_array中第disp_no+1个元素的“显示允许”属性;如果该属性值为真,则将data_array中第disp_no+1个元素的数据赋值给disp_array中第0个元素;以此类推,直到找到data_array中“显示属性”为真的元素,将其赋值给disp_array中第0个元素,如果查看到最后一个data_array中的元素,则从头开始,实现data_array数组中disp_no-n........disp_no-2、disp_no-1之前的数据在disp_array尾部显示。
10.步骤6,以disp_array中第1个元素为基准,查看data_array中下一个“显示允许”为真的元素,将其赋值给disp_array中第1个元素。
11.步骤7,重复步骤1-4,将disp_array中所有数据填写完整。
12.步骤8,在线修改disp_no的数值,改变data_array中元素在disp_array中位置,实现数据循环显示。
13.data_struct的基本属性包括序号、名称、单位、数值、显示允许。
14.disp_struct的基本属性为data_struct属性的子集,包括选择序号、名称、数值、单位。
15.步骤2中,disp_array的元素个数与操作屏的表格行数对应。
16.步骤2中,plc控制系统的模拟量输入信号达到50-60个时,则令显示数组中元素的个数小于数据数组中元素个数。
17.本发明的有益效果为:本发明提供的表格循环显示批量数据的方法,可实现批量信号在操作屏上循环显示。而且本发明减少了上位开发人员的工作量,减少了可组态操作屏在数据显示的开发过程中对变量的需求,提高了操作屏与plc之间的数据通讯速率。减少了程序对plc和操作屏的内存的使用率。
附图说明
18.图1循环显示示意图;
19.图2改变disp_no初始值时循环显示示意图;
20.图3操作屏循环显示表格;
21.图4表格循环显示批量数据流程图。
具体实施方式
22.下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
23.参照图4所示,本发明实施例提供的表格循环显示批量数据的方法,包括以下步骤:
24.步骤1,为待显示信号定义一个由该信号的几个基本属性构成的结构体数据类型,例如命名为data_struct,基本属性主要包括但不限于序号、名称、单位、数值、显示允许。再定义一个显示结构体数据类型,例如命名为disp_struct,其基本属性为data_struct属性的子集,如选择序号、名称、数值、单位。
25.步骤2,以data_struct为元素类型构建一个数据数组,例如把数组命名为data_array,该数据数组为plc控制系统的模拟量输入信号的缓存区。同样,构建一个显示数组,例如数组命名为disp_array,该数组为操作屏上显示表格的缓存区。
26.步骤3,在循环显示程序中定义一个整数型数据类型变量,例如变量名为disp_no。
27.步骤4,以disp_array中第0个元素为基准,查看data_array中第disp_no个元素的“显示允许”属性;如果“显示允许”属性为真,则将data_array中第disp_no个元素的数据内容赋值给disp_array中第0个元素;
28.步骤5,如果“显示允许”属性为假,则查看data_array中第disp_no+1个元素的“显示允许”属性,如果该属性值为真,则将data_array中第disp_no+1个元素的数据赋值给disp_array中第0个元素;
29.步骤6,以此类推,直到找到data_array中“显示属性”为真的元素,将其赋值给
disp_array中第0个元素,如果查看到最后一个data_array中的元素,则从头开始,实现data_array数组中disp_no-n........disp_no-2、disp_no-1等之前的数据在disp_array尾部显示;
30.步骤7,再以disp_array中第1个元素为基准,查看data_array中下一个“显示允许”为真的元素,将其赋值给disp_array中第1个元素;
31.步骤8,重复步骤1-4,将disp_array中所有数据填写完整。
32.步骤9,在线修改disp_no的数值,改变data_array中元素在disp_array中位置,实现数据循环显示。
33.参照图1所示,在本实施例中,以模拟量输入信号在操作屏上循环显示为例说明,组态了四行显示表格和两个按钮,这两个按钮实现disp_no的值增加或者减少1的功能。plc程序中建立显示数组(disp_array)和数据数组(data_array)。disp_array数组共有4个元素,这四个元素与操作屏的四行表格一一对应。data_array数组共9个元素,其中第1个、第3个和第6个到第8个元素的“显示允许”属性值为假,其余元素为真。
34.disp_no的初始值为2,指向data_array中第2个元素,由于其“显示允许”属性值为真,则将data_array中第2个元素赋值到disp_array的第0个元素中。disp_no的值增加1,变为3,由于data_array中第3个元素的“显示允许”属性值为假,则disp_no的值增加1,变为4,data_array中第4个元素的“显示允许”属性值为真,则将data_array中第4个元素的值赋值给disp_array的第1个元素。同理,将data_array中第5个元素的值赋值给disp_array的第2个元素。当disp_no的值变为8时,指向data_array数组中最后元素,则disp_no的值变为0,指向data_array数组的第0个元素,由于“显示允许”属性值为真,则将data_array数组的第0个元素的值赋值给disp_array的第3个元素。
35.参照图2所示,通过操作屏上按钮实现disp_no的初始值改变为4时,此时data_array数组中第4个数据显示在disp_array数组中第0个位置上,其余data_array数据将依次改变位置,以此类推能够实现数据在操作屏表格中循环显示。
36.当自动化控制系统模拟量输入信号比较多时,例如多达50-60个,显示数组中元素的个数可以为数据数组中元素个数的十分之一,例如为5-6个,通过循环显示的方法能将全部模拟量信号显示完整。这样减少了操作屏与plc之间的通讯数据量,提高了实时性,也减少了操作屏上数值控件和画面的个数。
37.可操作屏组态循环显示表格形式参照图3所示,第一行控件为文本框,是表格的表头,显示内容为序号、名称、数值和单位等。其余四行为表格内容,序号列和数值列的内容为数值格式,采用io控件显示,名称列的内容为文本格式,采用文本表格控件显示,单位列的内容为符号格式,采用符号表格控件显示。组态2个按钮控件,每按下一次后,disp_no变量的值可以加1或减1。
38.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的范围内,可轻易想到的变化或者替换,都应该涵盖在本发明的保护范围内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1