我遇到的第一个障碍是弄清楚Mass Combi使用的串口类型;在产品文献中,它被称作"QRS232"端口,其中"Q"(如"quasi")表示这是一个5V TTL RS232端口。Mastervolt PC Link适配器手册提供了该端口的针脚布局和电压:
虽然RS232通常表示一个12V信号方案,但找到一个便宜的USB <> TTL电平RS232适配器并不难,像这种(在 eBay 上 4 英镑):
通过这个适配器(通过RJ11插头)连接到公共组合设备,使得MasterAdjust软件(在WinXP虚拟机中运行)能够与该设备通信:
现在我可以开始查看数据了。这是一个19200-8-N-1的链接,将我的设备连接到TX(蓝色)和RX(红色)显示了这样的流量:
结果发现,MasterAdjust 软件每秒两次通过所有需要填充界面的数据命令来工作,所以有很多流量,起初我对此有点不知所措。但我列出了一份请求和响应的表格来尝试理清这些信息(请求为红色,响应为灰色/黑色):
有几件事立刻引起了我的注意:请求总是以0xC1 0xF0开始,响应以0xF0 0xC1开始。似乎接下来的两个字节是命令,接下来的四个(或五个)是相关的值。最后一个字节是模256校验和。我进一步深入研究,将四个“值”字节以反向顺序(这是常见的)转换为十进制:
"13573",这可能是13.573吗?看起来像是电池电压?通过将值(具有不同的缩放)与MasterAdjust软件显示的值进行比较,我很快找到了一些我确信的命令。结果是上述的"13573"与任何电压无关,而是实际上是由2560缩放的"直流电流"。以此类推。许多值由2560缩放,但有些由256缩放,有些由100缩放,还有许多其他值按比例1缩放。所以我有很多乐趣。但我取得了进展,并且可以100%确定发送(例如)
0xC1 0xF0 0x24 0x00 0x00 0x00 0x01 0xD6
可靠地给我一个与MasterAdjust中显示的“直流电流”匹配的值(例如,当MasterAdjust显示“5.3 A”时,13573/2560=5.3019531)。我现在可以开始在Node-RED中构建仪表板组件来绘制和显示一些内容:
这使我能够在将装置暴露于各种条件下时,绘制出数值的变化,例如拔掉岸电,以及向直流或逆变系统添加负载,这揭示了一些其他秘密。结果发现,一些数值字节实际上对应于遥控面板上LED的单独位,因此
例如,会返回四个(或五个)值字节
0xE0- 现在正在处理前两个字节 0xE0 0xF1 的位分别给我们1110 0000和1111 0001,并且第一个字节恰好与遥控面板上“DC Load”最低(5%)LED点亮相匹配,第二个字节表示所有五个“状态”的LED都点亮。我最终把它映射如下:
第一个字节 1111 1000 放电? 1111 0101 错误模式? 1111 1110 100% DC负载(即使关闭时) 1111 1100 75% 直流负载 1111 1000 50% 直流负载 1111 0000 25% 直流负载 1110 0000 5% 直流负载 1100 0000 0% 直流负载 0100 0000 充电器关闭,逆变器关闭 0011 1110 100% 在逆变器上 0011 1100 75% 在逆变器上 0011 1000 50% 在逆变器上 0011 0000 25% 在逆变器上 0010 0000 5% 在逆变器上 0000 0000 切断 / 逆变器关闭 第二个字节 1111 0011 ??? 1111 0001 100% 1110 0011 75% 变频器系统 1100 0011 50% 变频器系统 1000 0011 25% 变频器 soc 0000 0011 5% 变频器 soc 0000 0010 0% 闪烁 1111 0001 充电(浮充) 1110 0001 充电 (绝对值 2) 1100 0001 充电 (绝对值 1) 1000 0001 充电(批量2) 0000 0001 充电(批量1)
这是从我的笔记中直接复制的,如你所见,仍然有一些问号,尽管我现在已知足以复制遥控面板上的所有指示灯:
(注意:远程面板图片是库存图片,其状态与左侧Node-RED仪表板上显示的值不匹配)
联系人:余工
手 机:198-5307-5821
邮 箱:batteryltd@sina.com