工业库通过opc采集kingscada数据以及scada展示工业库数据
KingSCADA和工业实时数据库软件在垃圾渗滤液工程上的应用.pdf

82·案例篇·Application Chapter ★ 北京亚控科技发展有限公司 魏 东,张金强★ 上海三颐恩环保节能科技有限公司 席为民★ 广东省环境保护工程研究设计院 张 伟KingSCADA和工业实时数据库软件在垃圾渗滤液工程上的应用KingSCADA and Industrial Real-time Database Software Application Works on Landfill Leachate魏东(1981-),男,山东蒙阴人,硕士研究生,现任北京亚控科技有限公司解决方案工程师,从事燃气行业、垃圾处理行业、灌区信息化等行业的监控系统的方案设计、技术服务等工作。
张金强(1976-)男,山东德州人,现任北京亚控科技发展有限公司市政事业部总经理。
摘要:本文介绍亚控KingSCADA软件和工业库KingHistorian搭建的系统实现了对垃圾渗滤液处理项目的工艺展示、数据实时监视、设备控制等功能,达到很好的应用效果。
关键词:垃圾填埋;渗液处理;SCADA软件;工业库Abstract: This paper introduces a system built by the KingSCADA software of sub-control and the KingHistorian industrial laboratory. The system conducts the demonstration of the industrial process of landfill leachate treatment, real-time data monitoring, device control and other functions, which achieve good results. Key words: Landfill; Exudate handling; SCADA software; Industrial library作者简介1 行业概述垃圾渗滤液是指来源于垃圾填埋场中垃圾本身含有的水分、进入填埋场的雨雪水及其他水分,扣除垃圾、覆土层的饱和持水量,并经历垃圾层和覆土层而形成的一种高浓度的有机废水。
kingscadaa实例

kingscadaa实例【原创版】目录1.介绍 kingscadaa 实例2.kingscadaa 实例的特点3.kingscadaa 实例的应用场景4.kingscadaa 实例的优缺点5.结论正文1.介绍 kingscadaa 实例kingscadaa 实例是一种在计算机领域中广泛应用的数据结构,主要用于表示层次结构。
它是 Scada 系统的一个重要组成部分,Scada 系统是一种广泛应用于工业自动化和监控的软件系统。
kingscadaa 实例通常用于存储系统的配置信息、设备信息以及它们之间的关系。
2.kingscadaa 实例的特点kingscadaa 实例具有以下特点:- 灵活性:kingscadaa 实例可以表示各种复杂的层次结构,因此可以适应各种不同的应用场景。
- 可扩展性:kingscadaa 实例可以根据需要添加或删除节点,以满足系统规模的变化。
- 稳定性:kingscadaa 实例在 Scada 系统中具有较高的稳定性,可以长时间稳定运行。
3.kingscadaa 实例的应用场景kingscadaa 实例在以下场景中得到广泛应用:- 工业自动化:在工业自动化领域,kingscadaa 实例可以用于表示生产线、设备、传感器等元素的层次结构。
- 监控系统:在监控系统中,kingscadaa 实例可以用于表示监控点的层次结构,便于管理和维护。
- 智能建筑:在智能建筑中,kingscadaa 实例可以用于表示建筑的设备、传感器和控制系统的层次结构。
4.kingscadaa 实例的优缺点kingscadaa 实例的优点:- 结构清晰:kingscadaa 实例可以清晰地表示层次结构,便于理解和维护。
- 适应性强:kingscadaa 实例可以适应各种不同的应用场景和规模。
kingscadaa 实例的缺点:- 复杂度高:由于 kingscadaa 实例用于表示复杂的层次结构,因此在处理大量数据时可能会导致系统性能下降。
基于亚控KingSCADA平台的油气行业报警优化系统方案

34P〇C U S聚焦•石油化工基于亚控KingSC A D A平台的 油气行业报警优化系统方案★北京亚控科技发展有限公司1方案背景近年来,基于实时数据采集技术、工业库存储技术、可 视化数据展示、安全管理技术于一体的KingSCADA系统在中 石油采油三厂已经实现了大规模的推广,面对现场复杂的工艺 流程及多变的运行方式,每天形成的成千上万条报警数据记录 中,多数为正常生产运行过程中因周边环境、工艺变更而引起 的无效报警。
现场设备数量巨大,没有一种有效的手段可以及 时地发现停机、故障的设备。
长此以往,其对诸多生产部门对 生产过程管理的高效运维造成了不便的影响。
因此,获取可靠 与有效的实时报警数据与历史报警记录以及设备运转停机提示 功能迫在眉睫。
2方案架构如图1所示,本项目功能架构划分为数据层、平台层、应 用层、展示层四层内容,主要依托于平台提供项目所需的报警 优化应用。
中心站监控、移动端应用四个部分。
如图2所示。
基于作业区现场成熟应用的SCADA平台,KH工业库、MySQL关系库、流媒体视频监控应用等,本次在服务端应用 侧安装KF3.6平台软件,利用其计算模块KC、Web模块KP,和SCADA平台的数据交互,对现场报警信息进行优化,同时 能够将关键报警信息推送至移动端应用进行査看。
»4)罐&用•bRQ用酿用蠢•»田»«««.仪*.鼸像头©B复合报警智能预瞀KingSCADA 平台■ K in g H is t o r ia n l^■ MySQL图1报警优化项目功能架构图本项目网络部署架构设计,软件应用以在作业区部署单个 作业区应用为例,主要区分为油田现场、服务端应用、作业区图2报警优化项目网络部署架构图3实施内容3.1单变量报警阈值优化目前油田上的参数报警主要为高低限制的报警,我们可 以通过Python算法实现报警阈值的自适应调整模型、动态阈 值;通过对生产运行参数过往一段时间内的数据进行统计分 析,调整报警阈值,以适应当前该参数的生产运行环境。
kingscadaa实例

kingscadaa实例什么是kingscadaa实例?Kingscadaa是一家专业的自动化软件开发公司,致力于为工业领域的自动化控制系统提供可靠的软件解决方案。
他们的主要产品是基于Scadaa 技术的监控和控制软件。
下面我们将详细介绍Kingscadaa实例的基本概念、应用领域及其优势。
一、Kingscadaa实例的基本概念Kingscadaa实例是指在实际工业生产环境中使用Kingscadaa软件开发的自动化控制系统案例。
这些实例包括了各种各样的工业应用,如制造业、能源行业、交通运输等。
Kingscadaa通过为每个实例设计特定的配置和功能,实现了对不同行业的需求进行精确的满足。
Kingscadaa实例的主要特点如下:1. 可视化监控:Kingscadaa实例提供了直观的图形界面,使操作人员能够实时监测生产过程中的各种数据和参数。
通过可视化监控,操作人员能够快速发现并解决问题,提高生产效率和质量。
2. 实时控制:Kingscadaa实例具备实时控制功能,能够对生产设备进行精确的控制。
操作人员可以通过Kingscadaa软件对设备进行远程操作,实现远程监控和管理,提高生产的灵活性和可控性。
3. 数据分析:Kingscadaa实例能够对生产过程中的各种数据进行收集和分析。
通过对数据的分析,用户可以发现潜在的问题和改进机会,提高生产效率和质量。
4. 报警和通知:Kingscadaa实例具备实时报警和通知功能,能够快速响应异常情况并发送警报信息给相关人员。
这样可以帮助用户及时采取措施,避免生产中断和损失。
二、Kingscadaa实例的应用领域Kingscadaa实例广泛应用于各种工业领域,如制造业、能源行业、交通运输等。
下面我们以制造业为例,介绍Kingscadaa在该领域的应用。
制造业是Kingscadaa实例的主要应用领域之一。
在制造业中,Kingscadaa实例可以帮助企业实现生产过程的自动化控制和监控。
KDCKDS(KingDataCollector,KingDataServer)使用文档

KDC、KDS使用文档在整个数据采集和存储的过程中,KingDataCollector(KDC)作为客户端,实现底层设备的数据采集并向KingDataServer(KDS)传输数据;KingDataServer则作为服务器与数据库或亚控工业库KingHistorian链接,用来接收来自多个KingDataCollector的数据并按照预期的规则将接收到的数据保存至数据库(关系数据库(如:SQL Server)或者亚控工业库KingHistorian)。
本文档主要介绍将实时数据通过KDC、KDS存储到工业库中。
KDC收集数据1.将scada运行起来,或者其他的opc数据源;2.启动KDC服务管理工具图1图23.打开KDC服务配置工具图34.配置服务器,测试端是否被占用图45.数据源配置,这里我们通过opc的方式获取scada数据;图56.服务器配置,这里设置将KDC收集到的数据传到相应的KDS上,设置完成后点保存配置图67.选择程序—KingDataServer3.1—KDS服务管理工具图7 启动服务管理工具图88.选择程序—KingDataServer3.1—KDS客户端管理工具图99.登陆客户端管理工具图1010.在采集器名称下面右键,新建采集器图1111.将鼠标放在新建立的采集器上,右键,选择变量配置图12 11.单击变量配置,出现如下图所示图13 12.点击“修改变量掩码”,前面对话框变为可编辑图1413.点击“枚举采集器变量”,将变量枚举出来图1514.选中需要采集的变量(可以多选),右键选择“变量采集配置”图1615.点击“配置”,再点击“应用变更”,提示“修改采集器变量属性成功”图1716.点击“创建工业库变量”,在弹出的画面中,选中需要建立的变量图1817.点击“预览新变量名”,工业库变量名显示图1918.点击“创建工业库变量”,工业库变量建立成功。
在采集器变量配置画面中点击“退出”,退出采集器变量编辑19.选中“采集器”,右键启动采集器,双击采集器,将实时变量显示到列表中图20注意:将变量建立到工业库中,需要工业库服务器配置是启动状态。
OPC服务器在SCADA系统中的应用研究

OPC服务器在SCADA系统中的应用研究介绍了OPC技术的原理和特点,分析了OPC数据存储的规范,根据OPC数据规范对OPC标准接口进行实现。
针对实际工业中上位机组态软件WinCC6.0直接读取牛顿7000系列模块的采集信号较为困难,提出利用OPC 技术开发服务器,采集牛顿模块数据,通过对OPC服务器的访问,便可实现上位机组态软件对数据的访问,解决了从不同硬件厂商获取数据的难题。
1 引言目前,工业控制中的各种仪器、仪表、PLC和单片机系统等都提供了与计算机的通讯协议,为计算机控制系统的设计提供了极大的方便。
但是,由于不同的厂商提供的协议不同,甚至同一厂商的不同类型设备和计算机通信的协议也不相同,所以要与这些设备交换数据编写接口程序就比较复杂。
近年来,OPC技术的出现很好地解决了这一难题。
2 OPC数据访问服务器开发概述2.1 COM概述COM即组件对象模型,是关于如何建立组件以及如何通过组件建构应用程序的—个规范。
将单个应用程序分隔成多个独立的应用部分,也即组件。
如图1所示,组件对象模型(COM)对象是—个使用COM规格的可以重复使用的软件组件。
点击图片查看大图图1 单个应用程序分隔成多个应用组件对使用组件集成的开发者来说,一个组件就是一个接口集,只有通过接口才能与组件通信,而对于组件来说,接口是包含一个函数指针数组的内存结构。
每个指针数组元素的内容是—个由组件所实现的函数的地址。
类似于C++语言中类的概念,COM对象也包括属性和方法,对象的属性反映了对象的存在,也是区别于其他对象的要素:而对象所提供的方法就是对想提供给外界的接口,客户必须通过接口才能获得对象的服务。
COM组件的位置对客户来说是透明的,因为客户并非直接去访问COM组件,客户程序通过—个全局标识符进行对象的创建及初始化工作。
COM规范采用了128位全局唯一标识符GUID来标识COM对象。
2.2 OPC服务器的通用结构OPC是一种客户朋匮务器模式。
KingSCADA 3.0产品介绍

系统模型在系统模型库中进行统一管理。方案模型库中是对当前解决方案中使用的模型进行管理,包括从系统模型库中加入到方案模型库中的,或者本次新开发尚未加入到系统模型库的模型。对方案模型的修改才会传播到它的对象中。方案模型在方案模型库中进行统一管理。具体的工程开发过程中,只能应用存在于方案模型库中。
1.1
现在,用简单的示意性图形已经不足以表示工业现场复杂的生产过程,用户普遍要求更加丰富多彩、生动逼真的画面。为满足此要求,KingSCADA3.0提供了丰富的绘图工具,并且对绘图工具进行精心的设计,使用更加便利。
KingSCADA3.0工具箱中提供了基本图素、扩展图素和Windows UI图素,如图1-2所示:
1.1.
对于相对复杂的工程系统,KingSCADA3.0提供了工程打包工具。该工具是把KingSCADA3.0工程运行时需要调用的文件组成一个运行包,客户在现场的机器上,只需直接安装运行包,不用安装KingSCADA 3.0软件,即可运行KingSCADA 3.0工程,从而方便您运行KingSCADA 3.0工程。
在自动化行业日益发展的大环境下,各行业的规模都已经不再是简单的反应车间,当需要用整体的全局画面来展示整个流程时,则需要在运行过程中能够通过有限的屏幕空间对更广阔的画面区域进行展示,那么KingSCADA 3.0的运行时无级缩放则将完全满足这样的需求。
实例:
轨道交通行业中,地铁、隧道往往会有很长的距离,传统的组态软件会将整个工程进行分解,不同的控制系统分别展示在不同画面中,甚至整个长度也要被分段展示,如此监控人员就需要在操控过程中切换画面来完成对现场的控制,操作繁琐并无法整体进行监控,增加的操作人员的工作量,也无法更迅速的完成监控。
OPC技术在DCS数据采集中的应用

OPC技术在DCS数据采集系统中的应用何杨欢(中国石化长岭分公司计算机应用研究所,湖南省岳阳市414012)摘要:本文介绍了OPC技术在数据采集系统中的应用。
结合实际叙述了中国石化长岭分公司DCS数据采集系统及其软、硬件结构和功能特点,重点论述了OPC数据通讯技术和应用。
关键词: OPC DDEO 引言OPC全称是OLE for Process Control,是过程控制业中的新兴标准。
OPC新技术标准的出现为数据采集接口和现场过程控制DCS系统应用建立了桥梁。
在过去,为了实现不同生产装置的DCS系统和数据采集接口之间的数据通信,必须要花费很多时间去开发专用的通信接口程序。
在这种情况下,OPC标准应运而生。
OPC 以OLE/COM/DCOM机制作为应用程序级的通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
1OPC数据通讯技术1.1 OPC客户端与OPC服务器OPC技术的实现包括OPC服务器部分及OPC客户应用部分,其应用模式如图1所示。
OPC服务器收集现场设备数据信息,OPC客户端通过OPC标准接口获取OPC服务器的各种信息。
符合OPC标准的客户端可以访问来自任何生产厂商的OPC服务器。
图1 OPC客户端与OPC服务器连接图1.2 OPC服务器数据访问接口OPC标准以微软公司的OLE技术为基础,它是通过提供一套标准的OLE/COM接口完成的。
OPC服务器支持两种类型的访问接口:自动化接口(Automation interface);自定义接口(Custom interface)。
自动化接口是为基于脚本编程语言而定义的标准接口,可以使用VisualBasic、Delphi、PowerBuilder等编程语言开发OPC服务器的客户应用。
而自定义接口是专门为C++等高级编程语言而制定的标准接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工业库通过opc采集KingSCADA数据以及scada展示工业库数据目录工业库通过opc采集KingSCADA数据 (2)SCADA展示工业库数据 (8)工业库中变量在KingGraphic引用 (11)工业库通过opc采集KingSCADA数据本文档提出的方法是通过导出KS的变量,再编辑成工业库支持的导入表格,直接将KS的变量导入到工业库变量表中完成采集。
下面以SCADADEMO工程的float类型变量为例,其他数据类型与此相同。
1.建立OPC采集器选择“开始—程序—KingHistorian3.0—采集器配置工具—管理员登陆(如图1),密码:sa”。
点击“确定”进入图2对话框图1 管理员登陆界面图2 采集器安装与配置工具界面点击“新建”弹出新建采集器配置页面,进行如下图配置图3 新建采集器基本对话框配置图4 新建采集器工业库对话框配置图5 新建采集器配置OPC Server对话框配置点击“确定”,提示创建成功,完成OPC采集器配置选中opc采集器,点击右边菜单栏“启动”图6 启动OPC采集器2.从采集器检索导出变量选择“开始—程序—KingHistorian3.0—客户端管理工具”,进入到系统管理平台图7 系统管理平台点击左边“系统管理—变量管理器”,在变量管理器中通过采集器检索图8 变量管理器中检索scada变量图9 变量管理器中检索OPC采集器KS变量备注:SCADA需要运行,SCADA变量基本属性中“允许其他应用访问”前需要打钩。
选中要导出的变量,保存图10 检索到的变量导出到excel文件1图10 检索到的变量导出到excel文件2导出表格如下图11 工业库变量导出表表中可以看出,数据源地址的格式为Local.变量名3.把变量导入到工业库中在“变量管理器—变量组根组”下,右键,导入变量—从文件,将刚才导出的变量导入到变量根组下面图12 从文件导入变量点击“确定”,添加变量成功。
图13 添加变量打开实时查看器,将自动刷新频率改为1s 图14 实时查看器1图15 实时查看器2这样工业库就可以通过opc读取KingSCADA数据。
SCADA展示工业库数据打开scada开发界面,建立一个画面,在画面上建立一个报表,报表命名默认为Report1,图16 scada画面报表显示另外在画面上建立一个按钮,上面文本改为“查询”如图图17 建立查询按钮双击按钮,如图图18 命令语言写在鼠标左键按下时在按钮左键按下时写,如图KDBDisConnect("Handle1");KDBGetConnectID("Handle1","DSN=wang;ServerAddress=127.0.0.1;ServerPort=5678;UID= sa;pwd=sa;NetworkTimeout=0");KDBGetDataset1("MyDataset", "Handle1", "select TagName, DataTime,DataValue from realtime");Report1.SetDataset1("MyDataset");图19 scada命令语言bool KDBGetConnectID(string strConnectIDName, string ConnectStr)功能:连接数据库,获得一个连接句柄,并保持与数据库的连接和打开状态。
数据库作为服务器,提供数据服务时,需要和客户端建立服务连接,因为数据库一般都是要为多用户、多程序服务的,服务连接是一种关键的、有限的资源,如果不需要服务了,就要把服务连接给断掉,释放资源,如KDBGetDataset()函数,每执行1次,就创建1次连接,执行完SQL命令后,就关闭连接,下一次执行,再重新连接。
但是,如果客户端对数据库的访问是连续而密集的,那么频繁的建立、关闭连接,会极大地降低数据库性能,甚至造成数据库服务器堵塞,为了避免频繁建立、关闭数据库连接带来的的开销,我们提供获取句柄方式,实现对数据库的连接复用。
用户可通过KDBGetConnectID()方法建立一个数据库连接,利用这个连接,用KDBGetDataset1方法向数据库发送SQL命令,数据库执行完SQL命令,返回操作结果,并不关闭连接,该连接句柄可以一直使用,直到调用KDBDisConnect()函数将其断开。
通过获取句柄方法,使得一个数据库连接方法可以得到高效、安全的复用。
长期占用数据库连接而不释放,可能会影响到数据库对其它用户的服务,建议只在需要这种方式的情况下使用,不要滥用。
因为网络、数据库本身的稳定性原因,即使没有执行释放连接句柄的脚本,时间长了,连接句柄也可能会自动失效,在网络好、数据库访问量不太大的情况下,1个连接句柄大概能坚持几天的时间,建议在执行SQL命令的脚本里,增加获取返回值的语句,来判断是否需要重新获取连接句柄。
例句:bool tmpbool;tmpbool=KDBGetDataset1("MyDataset", "Handle1", "select * from Table_LotCols");if (tmpbool==0){KDBDisConnect("Handle1");KDBGetConnectID("Handle1","DSN=wang;DATABASE=pubs;UID=sa; PWD=");KDBGetDataset1("MyDataset", "Handle1", "select * from Table_LotCols");}参数:strConnectIDName:与数据库连接的句柄名称,字符串类型ConnectStr:数据库连接字符串,字符串类型返回值:true:连接成功false:通讯失败例如:KingSCADA以sa身份登录(无密码)和名为wang的SQL Server中的pubs数据库连接,并获得名为Handle1的句柄。
KDBGetConnectID ("Handle1", "DSN=wang; DATABASE=pubs; UID=sa; PWD=");bool KDBGetDataset1(string DatasetName, string strConnectIDName, string SqlStr)功能:通过连接句柄,从数据库中获取数据集,获取完毕后不断开和数据库的连接。
参数:DatasetName:数据集名称,字符串类型strConnectIDName:与数据连接的句柄名称,字符串类型SqlStr:SQL查询语句,字符串类型返回值:true:获得数据集成功false:获得数据集失败例如:KDBGetDataset1("MyDataset", "Handle1", "select * from Table_LotCols");执行此函数得到一个名为"MyDataset"的数据集,该数据集中的记录符合查询条件在使用此函数之前需使用KDBGetConnectID函数得到名为Hand1的句柄.int SetDataset1(string strDatasetName)strDatasetName:数据集名称。
返回值说明:0 --- 成功;1 --- 执行错误;2 --- 忙(上次命令执行中);6 --- 输入参数格式错误;7 --- 未找到该数据集。
举例:KDBGetDataset(“MyDataset”, “DSN=KingSCADADB”, “select * from Table_LotCols”); //执行函数得到一个名为“MyDataset”的数据集。
Report1.SetDataset1(“MyDataset”) //清除报表中原有的数据,将符合条件的数据集显示在Report1报表中,默认显示的起始单元格是报表中第一行第一列对应的单元格。
画面保存之后,点击运行图标,运行之后点击查询按钮,如图所示图19 查询结果工业库中变量在KingGraphic引用因KingGraphic变量名不能包含空格字符和如下28个无效字符:,:;+-*/%&!~|^<>={}[]().`’ ”\?那么在工业库中可以引用的变量OPC_Local.liquid_level,在KingGraphic引用就会有问题,需要把变量中间的“.”去掉。
具体操作步骤如下1.打开工业库导出的变量,我们需要添加的就只有三项,变量名、变量描述、数据源地址,其他的变量域都相同,因此,要添加几个float类型的变量,就复制出几个,然后替换变量名、变量描述、数据源地址这三项就可以了,如图17。
图20 工业库导出变量1图21 工业库导出变量22.将作为opc服务器的KingSCADA工程变量导出,如图图22 SCADA变量导出打开KS变量表,在上面的工业库变量表中我们知道数据源地址的格式为Local.变量名,那么在KS的变量表中,变量名我们知道,只要把变量名前面增加“Local.”就变成工业库中变量的数据源地址了,因此我们可以按照下面的方式实现。
找到没有数据的一列,写上“Local.”,再找一列空的,写公式合并两个单元格内容,例如:“=BM2&C2”,即把“Local.”与变量名合成一个字符串,变成工业库的变量的数据源地址。
图23 合成数据源地址1拷贝合并后的内容,将这列内容覆盖到工业库的变量表中tags1.xls中的数据源地址那列中,如图21图24合成数据源地址2图25 数据源地址复制到工业库拷贝KS变量表中的变量名、变量描述的内容,分别将内容覆盖到工业库的变量表中tags1.xls 中的变量名、变量描述那列中。
图26 编辑好的新的工业库变量表在工业库中导入修改后的tags1.xls文件,就可以把KS的变量加载到工业库中,采集和存储。
图27 导入变量表图28 导入变量步骤1图29 导入变量步骤1导入变量时为变量添加前缀“KH_”图30 导入变量步骤2点击确定按钮,完成变量导入,如图图31 变量管理器变量浏览重启OPC采集器,实时查看器查看数据图32 变量管理器变量实时查看。