趣味のお部屋

やってみたいと思ったことが趣味…それを極めたらプロかな?

ハイブリッドインバーターを遠隔設定変更する方法( *・ω・)ノその2

今回はSmartEssからのハイブリッドインバーターの遠隔設定方法です♪

 

⇓ PCからDessmonitorを使用しての遠隔操作方法はこちらを参照

msn-06s.hatenablog.jp

 

まず、SmartESSでデバックモードに入る方法は、SmartEssを開いてデータロガーと表示されている帯の部分をタップする

データロガーの詳細画面になるので、右上の歯車をタップし、「データのデバッグ」を選択

これでデバッグモードになります( *・ω・)ノ

 

ハイブリッドインバーターの設定項目一覧のコマンドコードは下記になります。

データ読み出し用コード(表1)

HYP4850U100-Hから吸出したデータですが、SRNE系のハイブリッドインバーターの設定番号は統一されているので、HF系やASF系やSPI系でも問題なく使用できます( *・ω・)ノ

※追記

設定39以降については水色部分のレジスタアドレスを書込みデータ一覧を参照に書換えて、赤字の部分のCRCチェックを書換えれば読出し可能です。

 

上記コードを送信すると、当方のHYP4850U100-Hでは、下記表の受信データが返ってきます。

データの意味は、

グレーの部分⇒機器アドレス

黄色の部分⇒ファンクションコード(03h:データ読み出し)

ピンクの部分⇒バイト数

水色の部分⇒バイト数分のデータ

赤色の部分⇒最後の2バイトCRCチェックコード

 

設定38以降のデータについてはModbus資料に該当するアドレスがないので詳細不明ですが、受信データから

0xE118⇒Model output power : 5.0kW

0xE11F⇒Model PV voltage : 500V

0xE120⇒PV chargeing current : 100.0A

と判別はできます。



CRCチェックコードについては⇓で計算可能♪

crccalc.com

こちらのサイトの使用方法は、

使い方は、上に送信データ(CRCチェックを除く)を打ち込み、

Input⇒HEX(16進数)

Output⇒HEX(16進数)

にチェックを入れて、CRC-16/Modbusをクリック

すれば、Resultの下にCRCコードが作成されます。

CRCコードは下位1バイト、上位1バイトを送信データに添付します。

⇑の場合01 03 e0 1b 00 01 c3 cdで、デバッグコードとなります。

 

今回はiPowerを使用しなくてもCRCを作成する方法です。

 

一番上の表1より、アドレス0xE01Bは設定4となっています。

これをデバッグコードとして送信すれば、設定4のデータが返ってきます♪

010302007bfb67というデータが返ってきました。

01⇒機器アドレス

03⇒ファンクションコード(データ読み出し)

02⇒バイト数

007b⇒データ(123⇒12.3V≒49.2V)

fb67⇒CRCチェック(0x67fb)

 

必要なデータは007bで、16進数から10進数に変換すると123という数値になります。

⇓ 16進数⇒10進数の変換

Excelの場合、

=HEX2DEC(7b)

で変換ができます。

前回の記事に記載した計算方法で、

設定4の設定値は123⇒49.2Vということになります。

 

 

さて、次はハイブリッドインバーターの設定を変更する方法ですね。

設定変更の場合は、ファンクションコードが10hになります。

設定1~62の変更用コード一覧を作成しました。

⇓ データ書込みコード一覧表(画像が荒かったので2023/4/22更新

送信データ内の赤字はCRCチェックで、CRCcalcサイトで計算した結果を入力しているだけで、実際コードが通るかどうか一部しかチェックはしていません。訂正箇所があれば随時訂正します(;´∀`)

 

また設定電圧や設定電流の数値は、細かく指定できるので好みの設定値に変更してCRCチェックを再計算して入力すれば良いです( *・ω・)ノ

とりあえず使えそうな設定項目だけ作ってみました。

 

データの詳細は

01⇒機器コード(1バイト)

10⇒ファンクションコード書込み(1バイト)

xxxx⇒アドレス(2バイト)

0001⇒定数(2バイト)

02⇒バイト数(1バイト)

xxxx⇒設定値(2バイト)

xxxx⇒CRCチェック(2バイト)

 

送信したCRC値が正しくなければハイブリッドインバーター側で受信できず、データが返ってきません。

書込みが成功した場合は、送信データの前半6バイト+CRCチェックが返ってきます。

⇑ AC充電電流を15Aで設定(設定28)

 

アドレスデータに関しては、Modbus資料とiPowerでの吸出しデータと設定値を照らし合わせて確認しているので問題ありませんが、設定34についてはModbus資料には無く吸出しデータだけなので憶測です( ;´・ω・`)

設定39以降は資料にないアドレスなので、検証結果から特定しています。資料上は別の機能となっているアドレスも存在するので、タイムスロット機能等を搭載していない場合、該当しない機種の可能性もあります。

また、設定56のアドレスは、まだ特定できていません。

 

メモ帳にコード一覧を保存しておいて、コピペすると良いです。

 

ちなみにHYP4850U100-hのように、並列接続モデルのハイブリッドインバーターの場合、マスター側のハイブリッドインバーターしか設定データを読み書きできません

これはUSB接続のiPowerでも同じです。

 SmartEssで各ステータスは読み出しできているので、設定に関するデータだけだと思います。

 

稼働中のハイブリッドインバーターの設定なんて余程触らないとは思いますが、

インバーター出力中に、強制的にバイパス出力に切り替えたい時

 設定1⇒AC1stへ変更

・バイパス出力中に、強制的にインバーター出力へ切替えたい時

 設定1⇒BATT1stへ変更

・AC充電電流を日によって変更したい場合

 設定28⇒電流値の変更

あたりは使えますね(;´∀`)

また、iPowerと同様で充電電流やインバーター出力電圧は本来の設定値よりも細かく設定が可能なので、出力電圧に不満がある場合は0.1V単位で設定可能です。

 

ハイブリッドインバーターの設定に関するアドレスは0xExxxなので、Modbus資料で使用されていないアドレスをしらみ潰しにしていけば、タイムスロット設定やSOC設定も判明するとは思いますが、4000もアドレスがあるので調べるのは大変です…

恐らくアドレス前半にあると思うので、厳密には700程度だと思いますが…

個人的にはSOC設定項目のアドレスが知りたい…( ;´・ω・`)

設定一覧の書込みコード表(設定1~設定62)は更新済みです。