OPC UA 是从许多 Scada 系统获取数据的最佳方式吗?
在我的公司中,我们有许多分布式站点,每个站点都使用单一的 Scada 系统供应商(一个使用 Wincc,其他地方使用另一个......),并且该系统使用几乎相同类型的信息。
我们需要从这些系统中检索一些常规数据,因此我想知道 OPC UA 是否可以处理它。
是否可以购买或开发 OPC UA 服务器,通过 Web 服务将数据从 Scada 系统检索到客户端?
In my company we have many distributed sites and each one uses a singular Scada system vendor (one uses Wincc, other place uses another...) and this systems works with almost the same kind of information.
We need to retrieve some general data from these systems so I'd like to know if OPC UA can handle it.
Is it possible to buy or develop an OPC UA Server that retrieves data from Scada systems to a client through Web Services?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您熟悉 C# 和 .NET,并且有钱订阅 OPCFoundation,那么他们的 QuickStart 库是一个选择。
对于有关使用 OPC UA 的更加基于 SOA 的架构的具体问题,请查看我使用 RealTimeStack (http: //beeond.net/products/)。
科斯
If you are comfortable with C# and .NET and you have the money to subscribe to the OPCFoundation, then their QuickStart library is an option.
To your specific question about a more SOA based architecture using OPC UA, take a look at what I have done with our RealTimeStack (http://beeond.net/products/).
Cos
尽管某些 SCADA 应用程序可以是 OPC 服务器,但通常情况并非如此,您通常不会直接从它们读取数据。 99% 的情况下,您将从某种 PLC 或数据记录器中读取数据。它们具有特定的协议,一旦您拥有适用于它们的 OPC 服务器,就可以将这些协议抽象化。 SCADA 系统可以直接或通过 OPC 服务器读取 PLC 数据。如果他们读取 OPC 服务器,您可能会考虑使用现有的服务器。如果 OPC 服务器位于某种服务器上,这是一件好事,但如果它位于 SCADA 操作员站上(可以在不受您控制的情况下重新启动),则这是一个坏方法。每当您添加新的通信主体(例如新的 OPC 服务器)时,您应该首先检查当前的软件/硬件配置是否可以在不更改现有系统的情况下处理它。例如,您尝试连接到 PLC 并发现您需要升级网络 PLC 卡以支持多一个通信通道,或者您需要先对其进行参数化才能与其通信,或者它只允许一种通信master,该角色已被 SCADA 站等占用。
为了给您问题的准确答案:是的,OPC UA 是收集工厂数据的最佳方式。您应该意识到,拥有 OPC 服务器(或具有许多协议插件的单个 OPC 服务器 - 如 KepWare OPC 服务器)只是第一步。接下来,您需要决定如何处理实时数据。有许多 OPC 兼容工具用于显示、归档和报警。 OsiSoft 是这一领域的重要参与者,它拥有 PI 历史服务器、用于历史数据可视化的优秀工具以及用于严肃数据分析的 Excel 插件。如果您浏览 OPC 基金会网站,您会发现更多内容。
OPC 的好处在于它是一个众所周知的标准,您可以为特定设备制作自定义 OPC 服务器,并收集其数据、显示、报警、将其放入趋势中,并由与该标准兼容的任何其他 OPC 工具存档OPC 标准版本。我制作了一些定制的 OPC 服务器,这确实工作得非常好。
Although some SCADA applications can be OPC servers, it is not generally the case and you don't usually read data directly from them. In 99% you will read data from some kind of a PLC or data logger. They have specific protocols, which can be abstracted once you have OPC servers for them. SCADA systems might read PLC data directly, or via OPC server. If they read through OPC server, you might consider using existing one. This is good thing to do if OPC server is on some kind of a server, and bad approach if it is on a SCADA operator station which can be restarted without your control. Whenever you add new communication subject (like new OPC server), you should first check if current SW/HW configuration can handle it without changes in existing systems. For example, you try to connect to PLC and find out that you need to upgrade network PLC card to support one more communication channel, or that you need to parametrize it first to be able to talk to it, or that it allows just one communication master and that role is already occupied by SCADA station, etc.
To give you an exact answer to your question: YES, OPC UA is the best way to collect plant data. You should be aware that having OPC servers (or single OPC server with many protocol plugins - like KepWare OPC Server) is just first step. Next you will need to decide what to do with real time data. There are many OPC compatible tools for displaying, archiving and alarming. One serious player in this arena is OsiSoft with it's PI historian server and nice tools for visualization of historical data and Excel plugins for serious data analysis. You will find many more if you browse OPC Foundation web site.
Good thing with OPC is that it is a well known standard and you can make a custom OPC server for a specific device and have it's data collected, displayed, alarmed, put into trends, archieved by any other OPC tool which is compatible to the same OPC standard version. I have made a few custom OPC servers and this is working very nice indeed.