使用Apache NiFi的Plc4xSourceProcessor读取ModBus数据遇阻求助
Plc4xSourceProcessor读取ModBus输入寄存器的正确JSON配置
直接使用以下JSON配置,即可读取输入寄存器从偏移地址0(对应ModBus 30001)开始的10个数据字段:
{ "fields": [ { "name": "input_registers_batch", "address": "INPUT_REGISTER:0[10]", "datatype": "INT16" } ] }
配置说明
name:自定义字段名,后续可通过该名称在流文件的属性或内容中访问这批寄存器数据address:INPUT_REGISTER:指定寄存器类型,对应ModBus协议中的3xxxx系列输入寄存器0:寄存器起始偏移地址(ModBus地址30001对应偏移0,以此类推)[10]:表示连续读取10个寄存器
datatype:根据实际存储的数据类型选择,常用类型包括:INT16:16位有符号整数(多数ModBus设备默认)UINT16:16位无符号整数FLOAT32:32位浮点数(需占用2个连续寄存器,此时地址需写INPUT_REGISTER:0[2])
额外检查项
- 确认处理器的
Poll Interval已设置有效时间(如5000ms),确保定期发起读取 - 勾选
Auto Terminate Relationships中的success,避免流文件因未路由而无法查看 - 若设备寄存器存储的是其他数据类型,需同步修改
datatype参数
内容的提问来源于stack exchange,提问作者Roshan Jayalath
相关产品推荐
相关产品推荐

