【问题标题】:How to connect java with plc data如何将java与plc数据连接起来
【发布时间】:2021-10-16 19:05:08
【问题描述】:

我有一个关于 plc (siemens) 的新项目,但我不知道它们是如何工作的。 我必须做的是,通过给定来自 plc 的一些数据,我必须处理这些数据并将其显示在一个简单的 GUI 上。 我必须使用的PLC(我不知道是否有不同的类型)是一个“接近传感器”,它只捕获它前面的东西,然后它必须向我的Java程序发送一些数据,然后我必须显示它在 GUI 上(基本上是一些红色或绿色的圆圈) 我不必处理 PLC 的行为,我只需要根据来自 PLC 的数据显示红色或绿色圆圈

问题:

我想到了 Java,因为我知道它是一种强大的语言,但它是否最适合我要做的事情?

其次,如果 Java 是最佳选择,是否有任何库可以与 PLC 一起使用?

第三...我开始阅读一些有关某些语言的内容,例如:

  • 功能框图 (FBD)

它们是干什么用的?

【问题讨论】:

    标签: java plc


    【解决方案1】:

    “我必须使用的 PLC(...) 是一个“接近传感器”,它只捕获它前面的东西。”

    您的意思是在此处说明您正在将接近传感器连接到 PLC,从 PLC 读取数据并返回您的 UI 程序,还是要将接近传感器直接读取回您的 UI 程序? 如果是后者,请将您的传感器连接到微控制器,然后将数据串行发送到您的计算机。

    如果您使用的是 PLC,您将需要一些接口卡(即数字或模拟)。将您的传感器连接到适用的卡。如果您想阅读 S7 PLC,您将需要一个库 - libnodave 是一个很好的库。 如果您使用像 libnodave 这样的库,您将需要使用它支持的语言——它包括 Java,但您也可以使用其他语言,例如C. 你也可以使用 Snap7。

    FBD 是 IEC61131-3 编程语言之一 - 请参阅: http://www.automation.com/pdf_articles/IEC_Programming_Thayer_L.pdf

    【讨论】:

    • 我已经查看了 libnodave,看来我们必须购买许可证......你知道它是如何工作的吗?或者我可以下载测试版本,即使我的 30 天试用期到期,我的代码仍然可以工作?
    【解决方案2】:

    PLC 应具有 RS232/485 接口。所有通信都通过串行通信进行。 Java 确实有 Java 通信 API,但在您走这条路之前,将与 PLC 设备连接的计算机是什么 - 低功耗 ARM SBC 或 x86 PC?使用 Java 的缺点是与 JDK 相关的占用空间。如果是我,我会根据平台的限制,坚持使用 C/Rust 或 GoLang。

    【讨论】:

      【解决方案3】:

      要与 Siemens plc 通信,您可以根据您使用的 PLC 的确切类型使用几个不同的选项。

      西门子支持的几种通信协议:

      对于编程语言,您可以使用 Java,但也可以使用 C# 或 vb.net 与 Visual Studio 合作创建简单的 GUI。

      如果您需要任何进一步的信息,请告诉我。

      【讨论】:

        【解决方案4】:

        我遇到了类似的问题,我就是这样解决的: 大多数 PLC 使用的通信协议是 modbus、bacnet、lonworks 和 milion 其他。在您的情况下,我假设西门子使用 modbus。 首先,您需要 Rs485 转 USB 适配器(亚马逊上大约 20Eur) 您必须从 modbus 读取寄存器 - 请使用 easyModbus api 这种方法工作正常,但它不是实时发生的,因为 modbus 通信可以在单独的线程中运行。

        【讨论】:

          【解决方案5】:

          这取决于你要设计的应用程序,如果应用程序是基于web的,最好使用通过TCP连接发送数据的easymodbus TCP,如果你想要一个桌面应用,最好用Easy Modbus RTU,用RS485,这个库最好。

          http://easymodbustcp.net/en/

          我建议使用这个库,它也适用于未来(使用 Spring Boot MVC 的智能手机、桌面和 Web 应用程序)。

          【讨论】:

            猜你喜欢
            • 2021-02-23
            • 1970-01-01
            • 2015-06-18
            • 1970-01-01
            • 1970-01-01
            • 2012-08-17
            • 1970-01-01
            相关资源
            最近更新 更多