gpt4 book ai didi

c++ - 桌面 SCADA 应用程序 - 通过 C++ 读取和写入 PLC

转载 作者:可可西里 更新时间:2023-11-01 02:33:24 25 4
gpt4 key购买 nike

我尽我所能搜索了所有关于 SCADA 和开发您自己的 C++ 桌面应用程序以与 PLC 通信的主题,但找不到任何最近的,或者在我看来,符合我需要的相关主题。如果我错过了它们,将不胜感激。如果我也碰巧发错了版 block ,或者你能想到一个更好的版 block 让我发帖,我会把它放在那里。

话虽如此,我提前感谢您花时间阅读我的问题,并感谢您提供的任何意见。


一些关于我正在做的事

我目前在学校攻读机电工程,在我最后一年的项目中,我正在用 C++ 开发一个桌面应用程序来监控我们实验室中的 PLC。

在这个实验室中,我有一个预先存在的以太网网络,将所有 PLC 连接到一个点,我正在将其与一台 PC 连接,并将从那里完成我的所有工作。

我将在 Qt 中开发应用程序,以便轻松设计 GUI,并允许我访问 QNetworkInterface 和 QTcpSocket。

话虽如此,我不会说我是一名经验丰富的程序员,但我已经在几种语言(即:python、c++、c、php)上混了好几年了,并且仍在学习,考虑到学习永远不会停止。


我的问题

  1. 是否有任何我可以阅读的引用资料,您可以建议,以更容易地理解我需要通过什么样的过程来接收信息(即:各个 I/O、状态位、标签、日志等...)直接来自 PLC,而不是通过 OPC 服务器?

  2. 如果需要 OPC 服务器,除了使用 Rockwell Automations RSLinx 获取标签并在 excel 中显示它们的值外,我从未处理过 OPC 链接(我已经使用该确切方法创建了一个原型(prototype),但是想远离 excel,如果可能,也想远离 OPC 服务器 (RSLinx))。对于对 OPC 服务器主题一无所知的人,或者据我所知,一般而言,您有什么建议?

  3. 你们中的任何人以前是否编写过自己的应用程序来执行与我要完成的目标类似的事情,如果不是同一性质的话?

  4. 对于尝试此类项目的人,您有什么建议或建议?


PS:作为这个项目的开始,我最初只想读取 I/O(标签或地址)以查看它们的当前值(关闭或打开)输入,通电或不输出)。但最终我还希望能够根据我从它们收到的值将值写入我正在监视的 PLC 上的标签。

PSS:我想再次声明,我仍然是一名学生,并且仍在完整地学习这个主题。我只是想请你耐心等待,因为我第一次可能无法完全掌握事情!

如果我遗漏了任何您认为能够提供答案的相关信息,请告诉我!我会尽力及时提供上述信息!

谢谢!


编辑 #1:添加到另一个问题中,并稍微修改了我的第一个问题

编辑 #2:修正了问题 2

最佳答案

恕我直言,SCADA 程序应该具有能够连接到 OPC 服务器的最低要求。 OPC 用于大多数商业 PLC。

严格来说,不需要 OPC 服务器/客户端方法,但它为您提供了灵 active 并为您提供了一个抽象模型。如果您想使用协议(protocol)直接连接到 PLC,那当然也是可能的。然后,您需要了解有关协议(protocol)及其各种版本的更多详细信息。

是的,我在一个开发商业 SCADA 应用程序的团队工作了几年。

在这样的项目中很容易迷失在细节中,所以尽量让事情变得简单。通过使用 OPC,您将节省时间而不是直接摆弄协议(protocol)。您可以添加为其他协议(protocol)添加自定义驱动程序的功能——具体取决于您的时间范围。在开始对模型进行编码之前尝试对项目进行建模,避免迷失在细节中。

关于c++ - 桌面 SCADA 应用程序 - 通过 C++ 读取和写入 PLC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20811474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com