应用场景描述:
1、在Neuron中添加1个modbus tcp 的Node,创建1个Group,interval设置为:3600000(读取周期较长),但实际上设备数据一直在变化;
2、应用系统的用户,通过http api或mqtt api进行读tag操作。通过Neuron无法读取到设备实时值,仅读到上次interval的值。
期望结果:
1、主动上报数据时,可以按照interval的周期上报;
2、http api或mqtt api 读tag的时候,需要访问一次设备,获取到最新值;
应用场景描述:
1、在Neuron中添加1个modbus tcp 的Node,创建1个Group,interval设置为:3600000(读取周期较长),但实际上设备数据一直在变化;
2、应用系统的用户,通过http api或mqtt api进行读tag操作。通过Neuron无法读取到设备实时值,仅读到上次interval的值。
期望结果:
1、主动上报数据时,可以按照interval的周期上报;
2、http api或mqtt api 读tag的时候,需要访问一次设备,获取到最新值;
目前的设计是 发读 api 会返回最近读到的值并不发新的读命令。
在很多对能耗比较敏感的设备上,有这种场景。例如:热力的住户热表,一般就是一天主动上报2次。但平台业务人员,可以随时手动下发指令,实时读取设备数据的。
Neuron有什么办法能解决这种场景问题吗?
什么协议?
有关系的,比如这个协议,主从模式neuron做为主站,设备不能主动上报。
驱动可以控制启停,所以操作员控制读写是可以实现的。
对于主动上报,你需要确认清楚角色再进行开发。
http api或mqtt api 请求过来的时候,由Neuron对设备发出指令。这个就是您刚刚说的:neuron做为主站的情况。。
如果neuron作为从站的时候,那就只能上报最近的历史数据了。
后续neuron作为主站的时候,接收到api请求,就去发起设备操作吗??
neuron 目前不支持做从站。
对于你的需求可以这样做:
可以在开源仓库基础上开发,用开发出来支持从站的插件接收设备主动上报的数据,做主站的插件平时关闭,需要读取的时候再启动。
主站,也不支持吧??
目前没支持这个协议
modbus tcp 主站也不支持吧?
neuron modbus 支持的就是主站啊,你是指支持什么?
neuron modbus 支持的就是主站,但不支持下面这个情况:
通过http api或mqtt api对neuron进行读tag操作,无法读取到设备实时值,仅读到上次interval的值。
最开始有回复这个问题,目前设计是这样,按固定频率读。
后面会对这种情况进行改进吗?
我刚刚做了测,modbus-tcp 插件,我用/api/v2/read 参数 “sync” 设置为 true 。
但返回键结果为:error: 3018,
查了文档:
如何让modbus-tcp的这个node中的tag支持 同步读呢??
我看看新写个主题吧。