基于 QScript 脚本的 SCADA 系统自定义报表方法研究论文

2024-04-23 15:07:10 来源: 作者:hemenglin
摘要:传统SCADA 系统通常只提供固定报表模板,无法满足用户多样化需求。因此,提出并实现了一种基于QScript 脚本的创新方 法,以提高系统的灵活性和用户体验
摘要:传统SCADA 系统通常只提供固定报表模板,无法满足用户多样化需求。因此,提出并实现了一种基于QScript 脚本的创新方 法,以提高系统的灵活性和用户体验。首先,通过引入易于编写和跨平台的QScript 脚本技术,实现了数据源的动态选择与处理。这使得用户可以根据实际需求动态地选择和处理数据,提高了系统的灵活性和数据处理能力;其次,实现了报表模板的灵活设计与 编辑。通过QScript 脚本,用户可以自由设计和编辑报表模板,使其更符合实际需求。此外,还提供了丰富的报表模板编辑工具和 选项,使用户能够轻松创建和编辑自定义报表;最后,通过QScript 脚本实现数据与报表的动态绑定与展示。这确保了数据的实时 更新和报表的动态展示,进一步提高了系统的灵活性和用户体验。实验表明,提出的方法增强了SCADA 系统的自定义报表生成能 力,提高了灵活性,降低了操作复杂性和开发成本,为SCADA 系统报表生成提供了有力支持,能满足用户多样化需求,具有广泛 的应用前景。
关键词:监控和数据采集系统;QScript 脚本;自定义报表;数据源
Research on Customized Report Method of SCADA System Based on QScript Script
He Jianghai 1 , Luo Zhiyong2 , Liu Meng2
( 1. Guangzhou Metro Group Co. ,Ltd. ,Guangzhou 510330 ,China ;2. Guangzhou Baiyun Electromechanical Equipment Installation Engineering Co. ,Ltd. ,Guangzhou 510330 ,China )
Abstract : Traditional SCADA system usually only provides fixed report templates , which can not meet the diversified needs of users. So an innovative method based on QScript script is proposed and implemented to improve the flexibility and user experience of the system. Firstly ,the dynamic selection and processing of data source is realized by introducing QScript script technology which is easy to write and cross- platform.This enables users to dynamically select and process data according to actual needs ,and improves the flexibility and data processing capability of the system. Secondly ,the flexible design and editing of the report template are realized. Through QScript script ,users can freely design and edit report templates to make them more in line with actual requirements. In addition ,a wealth of report template editing tools and options are provided to enable users to easily create and edit custom reports. Finally ,QScript script is used to realize dynamic binding and display of data and reports ,which ensures real- time data updates and dynamic presentation of reports ,further improving system flexibility and user experience .Experimental results show that the proposed method enhances the ability of SCADA system to generate custom reports ,improves the flexibility ,and reduces the complexity of operation and development cost. The innovative method provides strong support for SCADA system report generation ,can meet the diversified needs of users ,and has a wide application prospect.
Key words : supervisory control and data acquisition system ; Qscript script ; custom reports ; data source
引言
电力监控系统对于保证城市轨道交通供电系统稳定、可靠运行起到十分重要的作用[1]。随着城市轨道交通的快速发展,电力自动化已成为城市轨道交通企业安全运营的重要手段。供电系统运维部门需要生产报表以监测电力系统参数和设备能耗,及时识别潜在问题[2-3 ] 。传统的城市轨道交通SCADA 系统虽然已经实现了电力参数 的自动化采集,但是在报表生成方面仍然存在一些问题。目前,部分数据仍然采用手工填写报表的方式,这种方式不仅效率低下,而且容易出错,无法保证数据的准确性和完整性[4-5 ] 。因此,开发一种高效、准确的SCADA 系统报表生成方法已成为一个重要研究方向[6]。
近年来,一些研究者提出了基于SQL 或Excel 宏的报表生成方法,这些方法虽然具有一定的自动化程度,但仍存在一些局限性[7-8 ] 。例如,它们不能实现比较复 杂的功能,例如交叉报表、统计分析等功能[9] ; 同时,这些方法需要地铁运维人员具有一定的编程基础,难度较高[10-11 ] 。另外,一些商业软件也提供了报表生成功 能[12] , 但是这些软件通常价格昂贵,且定制性较差。
针对以上问题,本文提出并实现了一种基于QScript脚本技术的SCADA 系统自定义报表方法。该方法通过引 入QScript 脚本技术,实现了报表的灵活设计和编辑。QScript 脚本是QT 的一个重要功能。QT 是一个跨平台应用程序和UI 开发框架,可跨不同桌面和嵌入式操作系统部署应用程序[13-14 ] 。基于QT 技术的SCADA 系统、城市 轨道交通控制有较多的研究和应用[15-17] 。
运维人员可以根据实际需求自由地设计和编辑报表,大大提高了报表的准确性和完整性。同时,该方法还支 持多种数据源的获取和处理,提供了强大的数据处理功 能,可以对数据进行清洗、转换和整理,以满足不同用 户的需求。
通过本文的研究,可以有效地扩展SCADA 系统的报 表功能,提高生产管理效率和决策准确性。同时,该实 现方法还可以应用于其他领域的数据处理和分析中,具 有广泛的应用前景。本文的研究成果将为相关领域的研 究和应用提供一定的参考价值。
1 报表样式方案设计
在供电系统中,报表不仅是数据的直观展示,更是决策的重要依据[18] 。为了确保报表在传达信息和提供良好用户体验方面发挥最佳作用,需要进行细致的报表样 式方案设计。
首先,对于报表的外观进行了细致的考量。报表的 外观设计应当简洁明了,同时又具有一定的专业感。本 文选择了现代感十足的字体,确保了报表文字的清晰度。
同时,采用了统一的颜色方案,确保了报表的整体视觉 效果的一致性。为了提高用户的阅读体验,还为报表添 加了适当的背景色和边框,使其在任何环境下都能清晰 地呈现数据。
在报表的内容设计上,着重考虑了数据的重要性和 易读性。对于关键数据,采用了加大字号、加粗或使用 不同颜色等方式进行突出显示,使得用户可以迅速捕捉 到关键信息。此外,为报表添加了适当的注释和说明,帮助运维人员更好地理解数据背后的含义。
除了基础的报表样式设计,还为报表添加了一些高 级功能。例如,引入了动态图表,使得运维人员可以通 过图表直观地了解数据的趋势和变化。此外,报表添加 了交互功能,使运维人员可以通过简单的操作来筛选和 查看自己感兴趣的数据部分。
在报表的整体布局上,遵循了从左至右、从上至下 的阅读习惯,确保了可以快速地浏览报表内容。同时,根据数据的重要性和类型进行了适当的分区,使得报表 的结构更加清晰。
总的来说,报表样式方案设计是电力自动化系统中 的重要一环。一个好的报表样式设计方案不仅可以提高 数据的可读性和易用性,还可以提升用户的阅读体验和 决策效率。通过不断的优化和创新,相信可以提供更加 出色、更加专业的报表服务。
2 方案实施
文献[19] 提出了一种面向服务架构(SOA) 方式对SCADA 进行业务功能的封装与扩展,但使用门槛较高。文献[20 ] 提出了一种JavaScript ( JS ) 脚本数据处理的方法,说明通过脚本进行数据和功能扩展是较易实 现的方式。本文使用QScript 脚本语言来实现报表的自定义功能是由于QScript 是一种强大的脚本语言,常用于扩展SCADA 系统的功能[21] 。编写QScript 脚本,以从SCADA 系统中提取所需的数据,并进行处理和分析。报 表模板定制,提供用户可定制的报表模板选项,允许用 户自定义报表的外观和内容。QScript 脚本将根据用户的 选择生成相应的报表。报表生成,利用QScript 脚本生成 数据表格,同样支持用户自己导入数据表格。数据源选 择,确定要包含在报表中的数据源,可以是实时数据、历史数据、事件数据等。使用QScript 编写代码,连接到 相应的数据源,并将数据提取到报表中。导出和共享,实现报表导出功能,使用户可以将报表以不同格式(如 Excel) 保存或共享。这样,用户可以轻松地与团队或管理层共享重要数据。
2. 1 利用QTableWidget 实现自定义表格在Qt 框架中,本文借助的QTableWidget 表格控件,提出了一种灵活的自定义表格实现方法。这允许用户根 据需求自由设计表格样式和布局。使用QScript 脚本语言 编写动态代码,可以对QTableWidget 进行样式设置、单元格合并以及自定义绘制。此外,支持以下功能:
( 1 ) 单元格样式设置:通过QScript 脚本,用户可以自定义单元格的样式,包括字体、颜色和背景色,以提高数据可视化和可读性。
(2 ) 单元格合并:通过脚本,用户可以将多个单元格合并为一个,以便更灵活地组织和展示数据。
(3 ) 自定义绘制:脚本允许用户在表格中添加自定义图形或图像,从而丰富数据的表现形式。
最终生成的文件为Excel 格式,方便用户直接在 Excel 中编辑、交互和共享数据。这种格式具有广泛的兼 容性,可在不同平台和软件中使用。具体实现的数据表 格如图1所示。
2. 2 报表类型设计
为提高报表的适应性,本文还引入了一个报表类型属性[22] , 存储在Excel 文件的类别属性中,用于区分通用报表和自定义报表。通用报表无需脚本编写,而自定 义报表需要相应的QScript 脚本。具体实现中,系统根据 Excel 文件的类别属性来确定报表类型。对于通用报表,系统采用默认报表生成方式,省去了脚本编写步骤。而 对于自定义报表,用户需要编写相应的脚本。这一方法 允许根据需求选择报表类型,以满足不同数据处理和展 示需求。
此外,这一方法降低了开发和维护成本。通用报表 无需脚本,简化了开发流程,提高了系统的易用性。自 定义报表脚本采用易学的QScript 脚本语言,降低了技术 门槛,方便用户根据需要进行开发和维护。这种方式提 高了报表的灵活性和可扩展性,使报表生成更加高效和 定制化。具体的实现效果如图2所示。
2. 3 数据源选择与处理
如图3所示,为了方便报表数据源管理,本文提出 的方法为报表增加一个连接数据标签组属性。这个属性 存储在Excel 文件的备注属性里面,报表运行时从Excel文件中获取这个属性内容。然后,给QScript 脚本提供相 关获取该属性的接口,实现QScript 根据属性内的数据标 签获取实际数据进行二次处理。
具体实现中,可以通过QScript 脚本语言编写动态代 码,对数据源进行智能选择和数据提取。同时,QScript脚本语言还支持强大的数据处理功能,包括数据清洗、转换、计算和整理等,可以方便地满足用户对数据处理 的需求。
2. 4 报表模板设计与编辑
在实际应用中,很多报表在格式和脚本上基本相同,主要差异在于数据源的不同设备。为了进一步提高报表 生成的效率,在提出的方法中引入了替换设备功能。
首先,建立了一个报表模板库,其中存储了各种已设 计好的报表模板。这些模板在设计和脚本上是完备的,唯 一的区别在于它们的数据源。在设计和编辑报表模板时,用户需要指定数据源的设备参数和数据标签,这些参数和 标签会被保存在模板中。具体的设计效果如图4所示。
当需要生成新的报表时,用户只需从模板库中选择 一个适用的报表模板,并简单地替换其中的设备参数和 数据标签。一旦替换完成,系统将自动根据指定的数据 源获取数据,并将其呈现在报表中。如此一来,可以极 大地减少报表设计和编辑的工作负担,从而提高工作效 率。同时,这种方法还可以保证报表的准确性和可靠性,因为它基于已验证的模板进行生成。
3 实际案例演示
为了验证上述所提方法的有效性,本章通过实际案 例来呈现实验结果,以直观地感受基于脚本的自定义报 表方法在实践中的效果与应用。
如图5所示,系统运行时,打开报表界面时自动调 用与Excel 文件名称一致的QScripg 文件执行脚本,通过 QScript 脚本语言将数据填充在报表中。在此过程中,QScript 脚本语言可以实时获取数据源的数据变化,并将 其反映到报表上。同时,QScript 脚本语言还可以实现数 据的筛选、过滤和排序等功能,使报表数据更加精准和可 靠。具体实现中,可以通过QScript 脚本语言编写动态代 码,将处理好的数据写入报表。用户可以直观地查看和分 析数据,更好地掌握SCADA 系统的运行状态和生产情况。
综合上面的方案设计和实际案例展示,本文方法具有以下特点与优势。
( 1 ) 基于QScript 脚本语言,灵活性强。该方法引入了QScript 脚本语言,可以灵活地设计、处理和展示报表 数据,使用户可以根据自身需求自由地设计和编辑报表。
(2 ) 提供了完善的报表模板库。该方法提供了多种常见的报表格式和样式,方便用户进行报表设计,同时支持自定义模板,满足特定需求。
(3 ) 数据源选择多样且处理能力强。该方法支持从多种数据源获取数据,并具备数据清洗、转换、整理等功能,确保数据的准确性和可靠性。
(4 ) 数据展示方式多样且直观易懂。该方法支持多种数据展示方式,包括表格和图表等,可以更加以直观和易 于理解的形式呈现在报表中,便于用户进行分析和比较。
4 结束语
本文提出了一种基于QScript 脚本的SCADA 系统自 定义报表实现方法。该方法通过引入QScript 脚本语言,为SCADA 系统带来了前所未有的灵活性和可扩展性,使 得用户可以根据实际需求定制报表。本方法不仅提供了 丰富的报表模板库,还支持多种数据源的选择与处理,以及多样化的数据展示方式。这一方法的核心优势在于 其适应性和智能化。它可以根据不同的行业需求和场景,提供定制化的报表解决方案,从而提高生产管理效率和决 策准确性。对于供电系统运维而言,这意味着运维人员可 以更好地理解其运营数据,从而做出更明智的运维策略。展望未来,建议进一步扩展数据源和数据处理方式。
例如,可以考虑集成更多种类的数据源,或者增加数据 处理和分析的高级功能,以帮助用户从大量数据中提取 有价值的信息。此外,还可以加强智能报表分析与应用,通过机器学习和人工智能技术,为用户提供更深入、更准确的报表洞察。随着工业互联网和物联网的快速发展,跨平台的互操作性和数据共享变得越来越重要[23]。提出的方法应当支持与其他系统的无缝集成,使得用户可以 在一个统一的界面上管理和查看各种来源的数据。
当然,这一切的发展都需要以安全性与隐私保护为 前提。随着数据价值的不断提升,应采取严格的安全措 施来保护用户的数据。这包括但不限于数据加密、访问 控制和定期的安全审计,以满足企业的不断增长的需求。
参考文献:
[ 1 ] 李莹,张志学,邹大云,等.轨道交通PSCADA 系统设计与应用[J ] . 工业控制计算机,2020 ,33 (5 ):45-46 .
[2 ] 薛洪剑,李海军,赵汉,等.变电站综合自动化系统POWERSCADA 报表设计[J] . 设备管理与维修,2022 (5 ):28-30.
[3]黄虎一,李强.基于SCADA 系统的工艺二次报警实现[J]. 机电信息,2020 (21 ):82-83 .
[4 ] 周鑫.油气田SCADA 系统的报表研发与应用[J ] . 自动化应用,2019 (4 ):148-152 .
[5]胡洲洋.基于模版解析的电网调度报表定制系统[D]. 大连:大连理工大学,2018.
[6 ] 梁静,任.基于Web 技术的电子档案管理系统开发与设计[ J ] . 电子设计工程,2017 ,25 (24 ):38 - 41 .
[7 ] 刘显茁,翟哲,张勇,等.基于多维度的电力系统调度报表数据改造提升方案[J ] . 机械与电子,2021 ,39 (3 ):44-47 .
[8]韩浩,尹亚南,朱晓山.组态王中自动报表系统的实现[J]. 科教导刊,2017 (20 ):49-50 .
[9 ] 杨平平.基于JasperReport + iReport 的SCADA 系统Web 报表设计与实现[J ] . 信息系统工程,2021 ( 1 ):115-117 .
[ 10 ] 张浩然,赵冠华,申艳红,等.基于QtWebEngine 和Web 技术的监控系统报表组件开发方案[J]. 电气技术,2020.21(9):45-48 .
[ 11 ] 俞秋霞.电力调度主站SCADA 系统实时数据库模型设计[ J ] . 自动化应用,2020 ( 12 ):113-114 .
[ 12 ] 汪伟滨.WinCC 基于VBS 脚本运用Access 数据库和Excel制作的报表查询系统[J]. 工业控制计算机,2023.36 (12):66-67 .
[ 13 ] 张劲峰.基于Qt 的跨平台Web 服务开发框架[D ] . 西安:西安电子科技大学,2020.
[ 14 ] 侯健明,静国刚,吴松洋,等.基于QT 的服务器批量部署平台设计与实现[J ] . 工业控制计算机,2021 ,34 ( 11 ):96-97 .
[ 15 ] 梁钢,曹继雷,孙传帅,等.基于可再生能源可信容量的电网运行模拟仿真软件实现[J ] . 电气应用,2019 ,38 (7 ):60-67 .
[ 16 ] 谢悦海,刘猛,唐伯培,等.基于WebAssembly 的跨平台SCADA 系统设计与实现[J ] . 机电工程技术,2023 ,52 ( 12 ):196-200 .
[ 17 ] 潘志安,高知林,秦华旺,等.基于Qt 的地铁站智能照明系统软件设计与实现[J ] . 工业控制计算机,2020 , 33 ( 10 ):113 -115 .
[ 18 ] 刘显茁,翟哲,张勇,等.基于多维度的电力系统调度报表数据改造提升方案[J ] . 机械与电子,2021 ,39 (3 ):44-47 .
[19]唐雅洁,江全元,程中林,等.可扩展型微电网SCADA 系统关键技术[J] . 浙江大学学报(工学版),2018 ,52 (8 ):1558-1565 .
[20 ] 谭力天,李靖兰,杨将.基于Kafka 和JavaScript 的城轨信号系统智能运维数据采集与处理方法[J]. 控制与信息技术,2023 (4 ):105-110 .
[21 ] 詹妮,孟燕琴.电力信息系统柔性动态报表的设计与实现[ J ] . 电子元器件与信息技术,2021 ,5 (5 ):100-101 .
[22 ] 杨志,刘识,张帆.智能化电力数据报表模型的研究与应用[ J ] . 电测与仪表,2020 ,57 ( 15 ):95-99 .
[23]裴沛,曾高辉.基于工业互联网的大数据平台建设分析[J] .信息系统工程,2023 (8 ):112-115 .
