neuron反向控制南向设备

大家好,我有个关于Neuron的问题请教。
系统环境:win11+docker+neuronEx 2.3.10
南向设备名称:mdtcp通过modbus tcp读取数据正常。
北向:通过sparkplugB插件与南向设备通讯并发送至emqx.发送数据正常。

问题描述:当我将读上来的数据进行写操作时,无法写入南向设备,我写入的标签位于组名称g1下面的a11点位(数据类型int16, write和subacribe),写入值为1235。当我通过docker的日志文件看相关状态时截取相关日志文件如下:
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [sparkplugB] mqtt_client.c:474 recv [spBv1.0/GID1/DCMD/NID1/mdtcp, QoS0] 24 bytes
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [sparkplugB] sparkplugb_plugin.c:469 spb:spBv1.0, group:GID1, cmd:DCMD, node:NID1, name:m
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [sparkplugB] sparkplugb.c:831 name_l1:g1, name_l2:a11, 1235
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [sparkplugB] sparkplugb.c:755 write node:m, group:g1, tag:a11, type:7
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [neuron] manager.c:232 manager recv msg from: sparkplugB to m, type: NEU_REQ_WRITE_TAG
2023-03-31 11:24:27 2023-03-31 11:24:27 [INFO] [neuron] adapter.c:377 adapter(sparkplugB) recv msg from: m, type: NEU_RESP_ERROR

请教诸位朋友,这是什么原因呢?

补充说明:刚发现当我通过sparkplugB向g1组下的a11写数据时,在neuron的南向设备状态由“已连接”变为“断开连接”然后过一会又自动变为“已连接”

看起来反向控制已经发送到南向了,试试在 数据监控 页面对应的点位上写入数据看看

试过,在数据监控设置没问题。但是在数据监控写操作时,是不是不经过北向设备。

是的,不会经过,我只是确认点位是可以写入的,可以截图发一下sparkplugb 控制端点位数据类型吗?以及这个点位在neuron上是什么类型的?南向的日志也贴一下?

sparkplugb 控制端点位数据类型为int16,这个点位在南向设备上的类型也为int16。
现在我觉得最大的问题是当我通过sparkplugB向g1组下的a11写数据时,在neuron的南向设备状态由“已连接”变为“断开连接”然后过一会又自动变为“已连接”。南向设备在我通过sparkplugB写入数据的瞬间断线了。

这里是docker里logs的内容。注意从【2023-03-31 17:20:28 2023-03-31 17:20:28 [INFO] [sparkplugB] sparkplugb.c:831 name_l1:g1, name_l2:a11, 88】这一行我写入了88,这个值,然后南向设备就断线了,过一会又重连上了
docker_logs.zip (4.6 KB)

这是从日志文件。https://1drv.ms/u/s!AtxVnzPvoUVN15k1otNJ2oQsJenrBQ?e=cJLtdB



这是sparkplugB端和neuron南向设备数据类型截图

好的,谢谢,我看一下日志,能不能确认一下容器内的/opt/neuron/core下是否有文件?有的话方便用 docker cp 容器id或容器name:/opt/neuron c:\temp 命令把数据拿出我我们分析一下,可以发我邮箱 chun.gao@emqx.io


容器内的/opt/neuron/core下没有文件

ok 感谢,我这边先看一下,晚点回复你。我通过电话加你微信了。