- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我尽我所能搜索了所有关于 SCADA 和开发您自己的 C++ 桌面应用程序以与 PLC 通信的主题,但找不到任何最近的,或者在我看来,符合我需要的相关主题。如果我错过了它们,将不胜感激。如果我也碰巧发错了版 block ,或者你能想到一个更好的版 block 让我发帖,我会把它放在那里。
话虽如此,我提前感谢您花时间阅读我的问题,并感谢您提供的任何意见。
一些关于我正在做的事
我目前在学校攻读机电工程,在我最后一年的项目中,我正在用 C++ 开发一个桌面应用程序来监控我们实验室中的 PLC。
在这个实验室中,我有一个预先存在的以太网网络,将所有 PLC 连接到一个点,我正在将其与一台 PC 连接,并将从那里完成我的所有工作。
我将在 Qt 中开发应用程序,以便轻松设计 GUI,并允许我访问 QNetworkInterface 和 QTcpSocket。
话虽如此,我不会说我是一名经验丰富的程序员,但我已经在几种语言(即:python、c++、c、php)上混了好几年了,并且仍在学习,考虑到学习永远不会停止。
我的问题
是否有任何我可以阅读的引用资料,您可以建议,以更容易地理解我需要通过什么样的过程来接收信息(即:各个 I/O、状态位、标签、日志等...)直接来自 PLC,而不是通过 OPC 服务器?
如果需要 OPC 服务器,除了使用 Rockwell Automations RSLinx 获取标签并在 excel 中显示它们的值外,我从未处理过 OPC 链接(我已经使用该确切方法创建了一个原型(prototype),但是想远离 excel,如果可能,也想远离 OPC 服务器 (RSLinx))。对于对 OPC 服务器主题一无所知的人,或者据我所知,一般而言,您有什么建议?
你们中的任何人以前是否编写过自己的应用程序来执行与我要完成的目标类似的事情,如果不是同一性质的话?
对于尝试此类项目的人,您有什么建议或建议?
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/
这显然有可能导致一场激烈的 war ,但无论如何,我试一试……(目前)还没有任何明确的答案。 在我的一台机器上,我确实被切换/升级到 Matlab 2012b。这是一个漂亮的新桌面,好吧。但出于很多原
当我的 Docker 容器启动时,我收到以下通知: Docker Desktop has detected that you shared a Windows file into a WSL 2 co
我希望能够(从服务器)连接到远程 PC 并能够访问其文件。我正在尝试使用 PHP 或 JavaScript 来完成此操作。 所以我想知道 1) 是否可能以及 2) 如何做到。 有人有任何示例/解决方案
我想使用 DirectX 为 Windows 7 制作动画桌面背景。我正在使用 C#、SlimDX 和几个 Windows API 函数的 P/Invoke 导入。我对 native Windows
是否可以为 Mac 开发动态桌面?我所说的“动态”是指其图像采用系统参数(例如时间和作业信息)并使用此信息来更新图像的桌面。有关图像状态的信息也将在 session 之间保留。我不是在谈论电影或随机但
我正在 LibGDX 中构建一个仅限桌面的应用程序。该游戏内置了一个 map 编辑器,您可以切换到并更改游戏 map 。我想添加一个功能,如果用户单击关闭窗口并且有未保存的编辑,它会提示您是否要在关闭
有没有像样的Windows桌面JSON lines (JSONL)格式查看器? 这种格式也称为: 行分隔的 JSON (LDJSON) 换行符分隔的 JSON (NDJSON) 我正在寻找至少能够从
我有一个UITableView,它在单元格中显示大量图像,并且我对滚动性能并不满意。我的 UITableView 类似于 iPhone 上的照片应用程序。有谁知道为什么 iphone 照片应用程序滚动
let img1 = document.createElement('img'); img1.setAttribute('src', 'https://caniuse.com/img/browsers
我在同一窗体上有两个不同的网格控件。它们共享相同的上下文菜单。当我选择上下文菜单项时,我无法确定哪个控件是所有者。 最佳答案 ContextMenuStrip 类的 SourceControl 属性将
我已经安装了 Docker Desktop ( version : 2.3.0.4 ) 并启用了 Kubernetes . 我部署了几个 PODS,一切正常,从昨天开始,我遇到了下面提到的一个奇怪的问
我正在制作需要实现TableView的应用程序。 我想将背景图像应用到桌面 View 。 谁能帮我解决这个问题。我正在使用下面的代码来创建 TableView Titanium.UI.setBackg
我在同一窗体上有两个不同的网格控件。它们共享相同的上下文菜单。当我选择上下文菜单项时,我无法确定哪个控件是所有者。 最佳答案 ContextMenuStrip 类的 SourceControl 属性将
您能建议一些库在我的桌面 Java 应用程序中创建雷达图吗? 谢谢 最佳答案 似乎JFreeChart提供了SpiderWebPlot 。 images for which看起来像雷达图。 关于jav
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Not possible to launch a file on a network using Java Desk
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想知道是否可以(使用JAVA)识别用于发出请求的计算机类型,例如:服务器、台式机、PDA(平板电脑、手机等)? 谢谢! 最佳答案 取决于您使用什么来接受请求。对于 http 请求,信息位于请求 he
我添加了一个事件处理程序,用于滚动到我的桌面 View ,但它仅在我使用滚轮滚动时才起作用,但我也需要它在您单击并拖动滚动条时起作用。任何想法有什么问题吗?我尝试使用不同的方法来处理该事件,但没有一个
我想开始开发桌面 Java 应用程序,并且我想知道 Java 社区使用什么。 我从 Swing 开始,但发现它非常初级。 我习惯于在 Visual Studio 2010 中使用 .net c# WP
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我是一名优秀的程序员,十分优秀!