【问题标题】:How to create complex nifi processor for plc?如何为plc创建复杂的nifi处理器?
【发布时间】:2020-08-28 16:24:26
【问题描述】:

我想创建一个自定义的 nifi 处理器,这样我就可以读取 s7 plc 数据。为此,我想将此项目的 java 代码:https://github.com/s7connector/s7connector 转换为 nifi 处理器。

所以,我已经下载了 mvn 包类型,正如这个网站所说的那样: https://medium.com/hashmapinc/creating-custom-processors-and-controllers-in-apache-nifi-e14148740ea

问题是s7 java代码与网上的例子相比太复杂了,所以......我怎样才能将这个java代码转换为nifi处理器?

有人有更复杂的代码示例说明如何将 java 转换为 nifi 处理器?

谢谢!

【问题讨论】:

  • 你不需要转换代码。只需在控制器/处理器中使用这个库。我对s7没有经验。但是,您可以在 ExecuteGroovyScript 中使用来自 github.com/s7connector/s7connector 的代码,只需在运行之前下载 s7 库。
  • 但是我该如何执行它,因为这个java源没有java jar文件...
  • Maven directions 通知jar located 的位置。顺便说一句,您可以在 groovy 脚本的第一行使用@Grab(group='com.github.s7connector', module='s7connector', version='2.1') 自动下载 jar。
  • 但是要这样做,我需要一直连接互联网??我不会在生产环境中连接互联网
  • 然后直接下载到lib目录下

标签: maven apache-nifi plc


【解决方案1】:

它与创建处理器无关,但 PLC4X(工业物联网通用协议适配器)为 Apache NiFi 创建了 nar 文件。您可以将其用于您的最终目标。

步骤:

  • 下载nar文件here
  • 放到lib目录下
  • 重启 NiFi 实例
  • 然后使用 PLC4XSource 处理器读取值。对于 modbus,您可以将“modbus:tcp://10.0.2.238:502?slave=1”设置为连接字符串,将“test1=holding-register:1”设置为地址字符串。然后属性“test1”将包含保持寄存器 1 的值。你可以得到S7的详细信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多