HART 协议——通过调制解调器进行通用命令串行通信

问题描述 投票:0回答:2

我有几个问题,我认为你可以帮助解决:

我一直在尝试与连接HART调制解调器并使用Python和Matlab的Windows 10 PC上的从站设备(FUJI A2 V5)进行进一步的通信。

命令 0 在短寻址模式下工作正常: 我发送

FFFFFFFFFFFFFFFFFFFF0280000082
并收到——
"FF"   "FF"    "FF"    "FF"    "FF"    "06"    "80"    "00"    "0E"    "00"    "00"    "FE"    "15"    "02"    "05"    "05"    "03"    "0F"    "10"    "00"    "0D"    "91"    "43"    "A2"
从响应来看,从站使用 HART 版本 5。

然后,我使用命令 0 中的长地址

["15"  "02" "0D"   "91"    "43"]
来使用命令 1 获取主变量 (PV),如下所示:

我发送了

FFFFFFFFFF8295020D91430001CB
,但后来我什么也没收到......

我错过了什么吗? 谢谢您的帮助。 /约翰

python-3.x protocols instrumentation serial-communication modem
2个回答
0
投票

看起来命令编号和字节计数位置颠倒了。 尝试 FFFFFFFFFF8295020D91430100CB

如果还是一无所获,请发送更多领先的 FF。


0
投票

我目前正在致力于实施 HART 协议。我使用的是带有集成 HART 调制解调器的西门子 DPT 变送器。在我的设置中,我使用 Python 代码发送数据,并使用 Arduino(作为透明隧道)将命令发送到连接到 DPT 的 HART 调制解调器 DAC 8740H。

我已成功发送第 0 个 HART 命令,并且正在收到响应。然而,我在解码这些响应时遇到了困难。

我发送的命令如下:

命令: [0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0x02、0x80、0x00、0x00、0x82] 我附上我收到的回复的片段。您能否帮助我正确调试和理解这些响应。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.